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 回答