sp->DrawGraph();クラスですがこれは2DのUIのような形で画面に表示するスプライトなのですがデプスバッファを有効にした状態では画面に表示されなくなるのでその際は提示コードのようにオフにしています。cubeクラスは3Dポリゴンで立方体を表示しています。両方とも個別のシェーダーで描画させています。
//描画アップデート void Game::GenerateOutput() { //画面クリア関係 glClearColor(0.0f, 0.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); //zバッファ cube->Draw(); glDisable(GL_DEPTH_TEST); //zバッファ sp->DrawGraph(0,600); // rct->DrawGraph(100,100); printf("aaa\n"); glViewport(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); //ビューポート glfwSwapBuffers(Window); //ダブルバッファリング glfwPollEvents(); //イベント処理 }
デプスバッファ有効時には
sp->DrawGraph(0,600);
は常に表示されないのでしょうか?
描画がこれだけしかない場合,すなわち cube->Draw(); が無い状態にしても sp->DrawGraph(0,600); の結果は表示されないのでしょうか?
表示されません。デプスバッファを無効にすると表示されます。行列を使い分けています。
三次元と2次元版とで
回答1件
あなたの回答
tips
プレビュー