dlib C++ ライブラリ OpenGLサンプル
前回、dlib C++ ライブラリでOpenGLを使えるようにしたことを紹介しました。
前回から仕様を修正したので、使い方が少し変わりました。
OpenGL機能の実装のために、freeglutのソースを
拝借していますので、freeglut用のCOPYINGファイルもパッチの中に入れておきます。
前回から仕様を修正したので、使い方が少し変わりました。
OpenGL機能の実装のために、freeglutのソースを
拝借していますので、freeglut用のCOPYINGファイルもパッチの中に入れておきます。
base_windowに5つの関数を追加してあります。
・initialize_opengl
![イメージ 1](https://cdn-ak.f.st-hatena.com/images/fotolife/m/mocchi_2006/20190818/20190818140626.jpg)
関連
- dlib C++ Library 目次
- dlib C++ ライブラリ OpenGLサンプル
- dlib C++ライブラリでOpenGLを使えるようにした
- dlib C++ ライブラリ winmain関数について
・initialize_opengl
ウィンドウをOpenGLに対応させるために一度だけ呼び出す必要があります。
引数を1つとります。
定数の意味や使い方は、GLUT_*** が OPENGL_***になっていることを除いてはfreeglutと同様です。
・swap_buffers_opengl引数を1つとります。
定数の意味や使い方は、GLUT_*** が OPENGL_***になっていることを除いてはfreeglutと同様です。
この関数は引数なしで呼びます。機能はglutSwapBuffersと同様です。
・paint_opengl
再描画が必要となったときに呼び出されるコールバック関数です。
initialize_opengl関数を呼び出すと、paint関数の代わりにpaint_opengl関数が
呼び出されるようになります(paint関数は呼び出されなくなります)。
・begin_openglinitialize_opengl関数を呼び出すと、paint関数の代わりにpaint_opengl関数が
呼び出されるようになります(paint関数は呼び出されなくなります)。
この関数には引数はありません。
end_openglとペアで使用します。
gl系の関数、及びswap_buffers_openglは、begin_openglとend_openglの間で呼び出す必要があります。
begin_opengl関数内部でmutexによるロックを施しています。
・end_openglend_openglとペアで使用します。
gl系の関数、及びswap_buffers_openglは、begin_openglとend_openglの間で呼び出す必要があります。
begin_opengl関数内部でmutexによるロックを施しています。
この関数には引数はありません。
begin_openglとペアで使用します。
gl系の関数、及びswap_buffers_openglは、begin_openglとend_openglの間で呼び出す必要があります。
end_opengl関数内部で、begin_openglでlockしたmutexをunlockします。
サンプルプログラムのスクリーンショットbegin_openglとペアで使用します。
gl系の関数、及びswap_buffers_openglは、begin_openglとend_openglの間で呼び出す必要があります。
end_opengl関数内部で、begin_openglでlockしたmutexをunlockします。
![イメージ 1](https://cdn-ak.f.st-hatena.com/images/fotolife/m/mocchi_2006/20190818/20190818140626.jpg)
関連
- dlib C++ Library 目次
- dlib C++ ライブラリ OpenGLサンプル
- dlib C++ライブラリでOpenGLを使えるようにした
- dlib C++ ライブラリ winmain関数について