programming     profile  memo  link  top


wxWidgetsでOpenGL

GUIツールキットであるwxWidgetsを使ってウィンドウを作成し,OpenGLを描画します.
wxWidgetsには,もともとwxGLCanvasクラスというのが用意されているので,これを使えばいいです.



・ wxGLCanvasについて
 (以下,マニュアルの日本語訳.英語苦手なのでかなり間違っているかも・・・)

 wxGLCanvasは,OpenGLグラフィックスを描画するためのクラスであり,WindowsやGTK+,Motif上でOpenGLをラップします.

 このクラスを使うためには,wxGLCanvasウィンドウを作り,ウィンドウに直接,標準的なOpenGLコマンドで命令するために wxGLCanvas::SetCurrent関数を呼びます.そして,ウィンドウ上のOpenGLバッファを表示するためにwxGLCanvas:: SwapBuffers関数を呼びます.

 レンダリングコンテキストのための属性(例えば,デプスバッファやステンシルバッファのビット数など)を設定するためには,attribList変数の値を変えなければいけません.設定すべき値とその意味については,下で述べます.

 Windows環境では,wxGLCanvasのサポートを切り替えるために,setup.h内のwxUSE_GLCANVASの値を1にしてくださ い.また,あなたのプログラムのリンクライブラリにopengl32.libを付け加える必要があるかもしれません.Unixでは,OpenGLか Mesaを用いたコンパイルのconfigureに--with-openglをつけてください.

継承元クラス
    wxWindows
    wxEvtHandler
    wxObject

インクルードすべきファイル
    <wx/glcanvas.h>

ウィンドウスタイル
    このクラス独自のウィンドウスタイルはありません.マニュアルのウィンドウスタイルの概 要(window styles overview)を参照してください.

定数
    一般的なGLの実装は,これらのオプションのうちの多くをサポートしていません.例えば,ステレオやauxiliaryバッファ,アルファチャンネル,アキュムレーションバッファなどです.

WX_GL_RGBA True Color(Windowsだと32ビットかな?)の使用
WX_GL_BUFFER_SIZE WX_GL_RGBAでないときのバッファのビット数
WX_GL_LEVEL 0でメインバッファ, >0でオーバーレイ, <0でアンダーレイ
WX_GL_DOUBLEBUFFER ダブルバッファの使用
WX_GL_STEREO ステレオの使用
WX_GL_AUX_BUFFERS アキュムレーションバッファの数
WX_GL_MIN_RED Use red buffer with most bits (> MIN_RED bits)
WX_GL_MIN_GREEN Use green buffer with most bits (> MIN_GREEN bits)
WX_GL_MIN_BLUE Use blue buffer with most bits (> MIN_BLUE bits)
WX_GL_MIN_ALPHA Use alpha buffer with most bits (> MIN_ALPHA bits)
WX_GL_DEPTH_SIZE Zバッファのビット数 (0,16,32)
WX_GL_STENCIL_SIZE ステンシルバッファのビット数
WX_GL_MIN_ACCUM_RED Use red accum buffer with most bits (> MIN_ACCUM_RED bits)
WX_GL_MIN_ACCUM_GREEN Use green buffer with most bits (> MIN_ACCUM_GREEN bits)
WX_GL_MIN_ACCUM_BLUE Use blue buffer with most bits (> MIN_ACCUM_BLUE bits)
WX_GL_MIN_ACCUM_ALPHA Use blue buffer with most bits (> MIN_ACCUM_ALPHA bits)