在我的程序中,我正在尝试使用图像并将其绘制为静止背景。前景确实有一些模型加载到相机内并且运行得很好。
但是,当我应用背景图像时,整个模型和其他对象不会出现,我只能看到屏幕上出现的背景图像。
我在绘制背景之前禁用了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
,但没有任何变化。
答案 0 :(得分: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);