つまり、これはドゥージーです。
Windows7のGLSL1.5を使用してバージョン3.2コアで記述された、かなり大規模なOpenGLソリューションがあります。ヘルパーライブラリとしてGLEWとGLMを使用しています。ウィンドウを作成するときは、次の行を使用しています。
// Initialize main window
glewExperimental = GL_TRUE;
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MAJOR, 3); // Use OpenGL Core v3.2
glfwOpenWindowHint(GLFW_OPENGL_VERSION_MINOR, 2);
glfwOpenWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
if(!glfwOpenWindow(Game::WINDOW_X, Game::WINDOW_Y, 0, 0, 0, 0, 32, 0, GLFW_WINDOW))
{ ...
3つのglfwOpenWindowHint関数を省略すると、アプリケーションはglDrawArrays(GL_TRIANGLES、0、m_numIndices);を呼び出すとビデオドライバーをクラッシュさせます。
しかし、ここにキッカーがあります。私のグループの他の誰かがソリューションを更新して実行しようとすると、ジオメトリのない空白のウィンドウが表示されます。3行をコメントアウトすると、プログラムは正常に実行されます。3.2coreヒントを使用する場合と使用しない場合では、かなり均等に分割されます。nVidia、AMD、デスクトップ、またはラップトップの違いを特定できませんでした。
私が見つけた最高のものは、glewExperimental=GL_TRUEを追加する提案でした。グリューはコアに問題があると言われています。違いはありませんでした。ソリューションは大きすぎてコードを投稿できませんが、必要に応じてシェーダーやレンダリングコードなどを配置できます。
本当にありがとう!これは私たちを数日間殺してきました。