1

glsl シェーダーを gtk-opengl ウィンドウで動作させる方法を知っている人はいますか? glut allglCreateProgramなどの関数は機能しますが、同じ gl コードを pygtkglext ウィンドウに入れようとすると、NullReference について不平を言います:

OpenGL.error.NullFunctionError: Attempt to call an undefined function glCreateProgram, check for bool(glCreateProgram) before calling

だから I from OpenGL.GL.ARB.shader_objects import *、しかし結果は似ています:

OpenGL.error.NullFunctionError: Attempt to call an undefined function glCreateProgramObjectARB, check for bool(glCreateProgramObjectARB) before calling

どんなアイデアも役に立ちます。

4

2 に答える 2

1

答えは、まだサポートされていません。単純に pygtkglext は glCreateProgram を設定しません。ただし、gitバージョンはそうです。

于 2010-05-09T13:25:10.253 に答える
0

OpenGL エントリ ポイントは、GetProcAddress ルーチンを使用して取得されます。NULL ポインターは関数ポインター glCreateProgramObjectARB だと思います。

これは、ドライバーと共にインストールされるライブラリーと厳密に関連しています。ホストで実行されている OpenGL のバージョンはどれですか? ドライバーが glCreateProgramObjectARB を実装していない可能性があります。

于 2010-03-02T19:34:37.090 に答える