0

私のプログラムでは、画像を使用して静止した背景として描画しようとしています。前景にはいくつかのモデルがカメラ内にロードされており、正常に動作しています。

しかし、背景画像を適用すると、モデル全体や他のオブジェクトが表示されず、画面全体に背景画像しか表示されません。

背景を描画する前に Depth_Test を無効にし、モデルを描画する前に再度有効にしました。

glDisbale(GL_DEPTH_TEST);
bgImage.draw(0,0); //draw the background image. Width and height parameters previously while initializing image

glEnable(GL_DEPTH_TEST);
cam.begin();
//stuff drawn inside
cam.end();

Depth Buffer/Depth Color bitその後のクリアも試してみましたbgImage.drawが、何も変わりません。

4

1 に答える 1

2

バックグラウンドが深度バッファーを占有しないように、深度書き込みを無効にする必要があります。

glDepthMask(GL_FALSE);
background();
glDepthMask(GL_TRUE);

または、背景を描画した後、単純に深度バッファのみをクリアします:

glDisable(GL_DEPTH_TEST);
background();  // instead of clearing the color
glClear(GL_DEPTH_BUFFER_BIT);
glEnable(GL_DEPTH_TEST);
于 2013-01-11T13:56:25.903 に答える