glut によって作成されたのではない OpenGL コンテキストで GLTools ストック シェーダーを使用できません。
Superbible 5th edition から OpenGL を学んでいます。提供されたGLShaderManager
and gltMakeCube
(GLTools から) をGLBatch::Draw()
使用すると、Superbible の次のコードを使用して、glut によって作成されたウィンドウにいくつかの立方体 ( )をレンダリングできます。
gltSetWorkingDirectory(values[0]);
glutInit(&count, values);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH);
glutInitWindowSize(1200, 400);
glutCreateWindow("Test");
ここの例に従って、このプログラムから過剰なコードを削除しようとしています http://www.opengl.org/wiki/Programming_OpenGL_in_Linux:_Programming_Animations_with_GLX_and_Xlibウィンドウを作成し、それにコンテキストを添付します。(私はUbuntuを実行しています)
ウィンドウとコンテキストを作成し、glClearColor を正常に呼び出してウィンドウの背景色を変更することができました。しかし、キューブが描画されなくなりました。glColor3f
上にリンクされたサンプル プログラムは適切に動作しますが、シェーダーを使用していないようで、代わりに呼び出しとglVertex3f
キューブの構築に依存しています。
GLTools のストック シェーダーを使用してレンダリングする私の手法が、過剰に作成されたものではないウィンドウ/コンテキストで機能しないのはなぜですか?