グラフィックス科学演習 Graphics Science Seminar 最終更新 9/2/2004 最終課題の投票結果 【授業評価アンケート】 学生による今期の学部専門科目授業評価アンケートを実施しています. アンケートは下記のWebサイトを通して行ないます.(記入をお願いします.) http://www.sys.wakayama-u.ac.jp/enquete/
グラフィックス科学演習 Graphics Science Seminar 最終更新 9/2/2004 最終課題の投票結果 【授業評価アンケート】 学生による今期の学部専門科目授業評価アンケートを実施しています. アンケートは下記のWebサイトを通して行ないます.(記入をお願いします.) http://www.sys.wakayama-u.ac.jp/enquete/
特定非営利活動法人natural science は、知的好奇心がもたらす心豊かな社会の創造にむけて、 現代社会では実感する機会の少ない科学や技術のプロセスを可視化・共有化する場づくりを通じて、 科学を切り口とした地域づくりを目指す、若手主体の団体です。 | More ≫ マウスドラックで回転することができます。 OpenGL と C++ によるソース #include <math.h> #include <fstream> #include <sstream> #include <iostream> #include <direct.h> #include <time.h> #include <GL/glut.h> #include <GL/gl_screenshot.h> using namespace std; int WindowPositionX = 100; //生成するウィン
Contents OpenGLとは OpenGLの特徴 情報の入手元 OpenGLを使ってみよう OpenGLとは OpenGLは、3Dグラフィック用(2Dも描けるけど)のAPI群です。最初は、SGIのグラフィックワークステーションでリアルタイム3D表示をするためのAPIとして誕生しました。現在では、Un*xやWindowsを始め、思いつくほとんどのプラットフォームに移植されていて、3Dグラフィックの業界標準となっています。 具体的な用途としては、CADや3Dモデラーの画面表示や、Quakeなどの3Dゲームに使われています。特に、CAD、3Dモデラーといったアプリケーションでは、それらのほとんどがOpenGLを使っています。 OpenGLの特徴 3D表示をするプログラムを書こうと思ったとき、OpenGL以外にもいくつかの選択肢があります。例えば、MicrosoftのDirectXを使うとか
前回はVisual StudioでOpenGLを使う環境を整えました。 今回は立方体を表示するサンプルを作成します。 もちろんGLUTは利用しませんがGLUT以外は下記の書籍を参考にしています。 OpenGLの座標系 基礎知識としてOpenGLの座標系をご説明します。 OpenGLでは水平方向横軸がx,縦軸がz、垂直方向がYとなります。 上から見下ろしたイメージではXとZで平面空間を表していますので注意が必要です。 一般的な数学ではXとYで平面空間を表すので間違えないようにして下さい。 座標系以外に必要な知識は、必要なタイミングで解説します。 OpenGL簡単なサンプル 立方体を描く簡単なサンプルです。 描画メッセージWM_PAINTに描画処理を記述します。 サンプルではopengl_view関数で処理を行っています ※Windowsに関する部分の説明は省略します。 OpenGLのコンテキ
リアルタイムな描画を行うために、描画スレッドを導入します。 一般的にはメインスレッド内でPeekMessageを使ってwindowsイベントを処理し、 アイドル時に描画する形になると思いますが、 メインスレッドはwindowsイベントに専念し、サブスレッドで描画してみます。 サンプル opengl04.zip VC++2008EEで作成 opengl.exeを実行してください 描画スレッド boost::threadのようにテンプレートで実装したいところですが、 無駄に規模が大きくなりそうなので、もっと単純なスレッドクラスを作ってみます。 thread_baseクラス 最小限のスレッド基底クラス 派生クラスでrunを実装する class thread_base { private: HANDLE handle; HANDLE end_event; HANDLE stop_event; pu
OpenGLにおけるマルチスレッド 14/02/16 up 今回はOpenGLにおけるマルチスレッドの話をサンプル交えながら行います。 昨今の複数コアCPUで十分なパフォーマンスを発揮するにはマルチスレッドを活用する必要があります。 DirectX11でのマルチスレッド活用も踏まえて解説していきたいと思いますのでよろしくお願いします。 さて、グラフィクスにおけるマルチスレッドとして考えられるものは何でしょう? 私は3つの活用法がまず思い浮かびます。 今回はそのうちの1つをOpenGLで実装しているだけですので、サンプルとしては弱いかもしれませんが、お許しを。 まず1つ目は描画スレッドの活用でしょう。 これはグラフィクスAPI(OpenGLやDirectX)というよりは、それらをラップするライブラリでの実装に起因する問題となると思います。 基本的なゲームの処理は大きく分けるとアップデートと描
特定非営利活動法人natural science は、知的好奇心がもたらす心豊かな社会の創造にむけて、 現代社会では実感する機会の少ない科学や技術のプロセスを可視化・共有化する場づくりを通じて、 科学を切り口とした地域づくりを目指す、若手主体の団体です。 | More ≫ OpenGLにはバージョンがあります。 PCに実装しているGPUによって異なるバージョンは、OpenGLの関数「glGetString()」を利用することで調べることができます。 また、利用可能なOpenGLの拡張を調べることも出来ます。 #include <iostream> #include <GL/glut.h> using namespace std; int main(int argc, char *argv[]) { glutInit(&argc, argv); glutCreateWindow("Check
とある事情で、OpenGLを使ったオフスクリーンレンダリング(ウインドウではなくメモリ上への描画)の方法を調べていたのですが、OpenGLに関するネット上のサンプルはfreeglutなどの補助ライブラリを使う方法ばかり…。freeglutは初期化の時点でウインドウの作成が必須になるので、いわゆる「オンスクリーンレンダリング」となってしまい目的に合いません。まぁ、グラフィックライブラリだからウインドウがある前提なのは当たり前なのですが…(´・ω・)あれやこれやと苦労した結果、ようやくウインドウを作らずにレンダリングする方法が分... 記事の中ではコードの解説は一切していなかったので、あらためて以下に解説をまとめたいと思います。あくまでも私自身の理解を書き連ねているだけなので、間違いなどあるかもしれません。もし間違いにお気づきの方はコメントいただけると嬉しいです。 OpenGLのレンダリングに
はじめに OpenGLはシステムに依存しない3Dのレンダリングシステムですが、実際に画面に描画する為にはOSに依存する部分も多くその部分を補完するためGLUT(OpenGL Utility Toolkit)が多く利用されています。またサンプルもGLUTに依存した物が多く見られます。 しかしWindowsは優秀なWindowシステムを持っているのでこれを利用しない手はありません。 ここではGLUTを使わずOpenGLで簡単に図形を書くまでを解説します。 開発環境はVisual studio、ある程度Windows SDKを使った開発経験のある方を対象としています。 Visual studioのインストール方法についてはこちらを参照して下さい。 プロジェクトの作成 OpenGLを動かすためのサンプルプロジェクトを作成します。 新しいプロジェクトの作成からプロジェクトを作ります。 1)空のプロジ
OpenGL 1.1 のバージョンであれば、今ならどこでも動くだろうと思ってやむなく使うこともあるかと思います。 そんなときに意外と嵌まってしまうポイントがあるようだったので、ここに記録&公開しておきたいと思います。もしも○○も気をつけなきゃいけないポイントだよね!ということがあればコメントにでもいただけると嬉しいです。 ・ちゃんと初期化処理を行う。 ドライバ等の規定値を信用せずに、使用する値や期待しているステートは自分で再セットを行うこと。 ビューポートの指定を忘れると妙な挙動に悩まされることも。(例:RADEONの一部ドライバにて) ・テクスチャの解像度について。 実はOpenGL 1.1ではテクスチャは2ベキである必要があります。 最近のハードウェアだと非2ベキで問題なく動作するため、この問題に気づきにくいです。 また1.1でコンテキストをデフォルトで作成するということが OpenG
The OpenGL Registry contains specifications of the core API and shading language; specifications of Khronos- and vendor-approved OpenGL extensions; header files corresponding to the specifications; and related documentation including specifications, extensions, and headers for the GLX, WGL, and GLU APIs. The OpenGL registry is part of the Combined OpenGL Registry for OpenGL, OpenGL ES, and OpenGL
OpenGL のサンプルプログラムです。 JPEG, PNG, BMP テクスチャマッピング、日本語文字列の描画、シェーダ、オフスクリーンレンダリング等、様々なサンプルを用意しています。 のものは Windows 限定です。 ライブラリによるものはプラットフォームに依存しません。 ライブラリによるものはプラットフォームに依存しません。 (今となっては AUX ライブラリは古くなってしまったので、GLUTライブラリに書き換えを予定しています。) GL_ARB_fragment_program による Phong シェーディングサンプルプログラム [Windows XP, 2000 対応] 2003/01/01 GL_ARB_fragment_program 拡張機能を用いて、Phong シェーディングを行うサンプルプログラムです。 ATI RADEON 9500/9700/9800 等の G
Former NeHe OpenGL Lessons adapted to MSVS-15 pro MFC in INICODE and the samples of the Joystick implementation Download source - 4.3 MB Download demo project - 4.8 MB Introduction With the continued development of modern 3D technologies, sometimes it is worth refreshing your memory about some base points. And sometimes, some of the impressive 3D effects of the modern 3D graphic oriented systems m
Home[English] Home[Japanese] 小田研究室ホーム [学科 Home] MFCによるOpenGLプログラミング (Visual C++を利用) OpenGLを利用した簡単な3次元オブジェクトの描画を行うプログラム例を 紹介します。MFCとは, Microsoft Foundation Class ライブラリのことで、 C++言語でのWindows GUIを用いたプログラムが簡単に作成できるように Microsoftが提供しているライブラリ群のことである。Window作成やダイアログの作成が 簡単に実現できる。 [このページの内容] 1.Visual C++の起動 2.必要最低限の雛型を作ってみる。 3.ビルド。 [次のページ]実際に3Dオブジェクトを描画してみる. 1.Visual C++の起動 ファイルメニューの新規作成を選択。 プロジェクトタブのMFC AppW
とある事情で、OpenGLを使ったオフスクリーンレンダリング(ウインドウではなくメモリ上への描画)の方法を調べていたのですが、OpenGLに関するネット上のサンプルはfreeglutなどの補助ライブラリを使う方法ばかり…。 freeglutは初期化の時点でウインドウの作成が必須になるので、いわゆる「オンスクリーンレンダリング」となってしまい目的に合いません。まぁ、グラフィックライブラリだからウインドウがある前提なのは当たり前なのですが…(´・ω・) あれやこれやと苦労した結果、ようやくウインドウを作らずにレンダリングする方法が分かったので、サンプルコードとして残しておこうと思います。 作成したサンプルコード以下が作成したサンプルコードです。VisualStudio2017上で作ったものですが、おそらく古いバーションでも動くかと思います。 一部でOpenCVの関数を叩いていますが、これはレン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く