dlib C++ライブラリでOpenGLを使えるようにした

dlib C++ライブラリでOpenGLを使えるようにしてみました。

本家が ver.15.8にバージョンアップしていましたので、ついでにバージョンも揃えました。

↓差分パッチ
バージョン15.8

base_windowに3つの関数を追加してあります。
・initialize_opengl
・swap_buffers_opengl
・paint_gl

base_windowの継承クラスのコンストラクタでinitialize_openglを呼び出すと、
そのウィンドウはOpenGL用のウィンドウに変化します。

・initialize_opengl
この関数は引数を1つ必要とします。
dlibのGUIOpenGLを使用するために一度呼び出す必要があります。
引数はgui_core/opengldefs.hで#defineされている定数の組み合わせです。
定数や実装はfreeglutのものを拝借しています。
(なのでfreeglut用のCOPYINGファイルもパッチの中に入れてあります)
定数の意味や使い方はfreeglutと同様です。

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

・paint_gl
再描画が必要となったときに呼び出されるコールバック関数です。
initialize_opengl関数を呼び出すと、paint関数の代わりにpaint_gl関数が
呼び出されるようになります(paint関数は呼び出されなくなります)。
この中でOpenGL関数の描画処理を行います。
全てのgl関数はこの中でのみ呼び出してください。

サンプルは気が向いたときにまた、ということで…

使用する場合は、↓の本家サイトからソースをダウンロードして、差分パッチを
その中に上書きコピーした後コンパイルしてください。
http://dclib.sourceforge.net/




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