如果希望正常渲染,渲染最近的相机对象,则按如下方式设置OpenGL标志:
glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);
所以我认为这样做:
glDepthFunc(GL_GREATER);
glEnable(GL_DEPTH_TEST);
还允许我渲染最远离相机的碎片。但是在设置这样的标志时我看不到输出。 (我的申请没有进行其他修改)
如何渲染离相机最远的碎片?
答案 0 :(得分:5)
深度范围从0到1 ...
清除深度时,默认情况下整个数组都填充1
你可以用glClearDepth(0)
改变它
并且您可以使用glDepthRange(near, far)
GL_LESS
(默认)声明:
“如果传入的深度值小于存储的深度值,则通过。”
GL_GREATER
州:
“如果传入的深度值大于存储的深度值,则通过。”
所以你需要一些清除深度(0)以获得更高的深度。 (仅查看最远的碎片)