dlib C++ ライブラリ OpenGLサンプル

前回、dlib C++ ライブラリでOpenGLを使えるようにしたことを紹介しました。
前回から仕様を修正したので、使い方が少し変わりました。
OpenGL機能の実装のために、freeglutのソースを
拝借していますので、freeglut用のCOPYINGファイルもパッチの中に入れておきます。

↓差分パッチ+サンプルプログラム
バージョン15.8


base_windowに5つの関数を追加してあります。
・initialize_opengl
ウィンドウをOpenGLに対応させるために一度だけ呼び出す必要があります。
引数を1つとります。
定数の意味や使い方は、GLUT_*** が OPENGL_***になっていることを除いてはfreeglutと同様です。

・swap_buffers_opengl
この関数は引数なしで呼びます。機能はglutSwapBuffersと同様です。

・paint_opengl
再描画が必要となったときに呼び出されるコールバック関数です。
initialize_opengl関数を呼び出すと、paint関数の代わりにpaint_opengl関数が
呼び出されるようになります(paint関数は呼び出されなくなります)。

・begin_opengl
この関数には引数はありません。
end_openglとペアで使用します。
gl系の関数、及びswap_buffers_openglは、begin_openglとend_openglの間で呼び出す必要があります。
begin_opengl関数内部でmutexによるロックを施しています。
・end_opengl
この関数には引数はありません。
begin_openglとペアで使用します。
gl系の関数、及びswap_buffers_openglは、begin_openglとend_openglの間で呼び出す必要があります。
end_opengl関数内部で、begin_openglでlockしたmutexをunlockします。

サンプルプログラムのスクリーンショット
イメージ 1



関連
- dlib C++ Library 目次
- dlib C++ ライブラリ OpenGLサンプル
- dlib C++ライブラリでOpenGLを使えるようにした
- dlib C++ ライブラリ winmain関数について




もっちーの小部屋 自作のソフトを公開してます。
http://www.geocities.jp/mocchi_2003/index.html