如果希望正常渲染,即渲染距离相机最近的对象,请按如下方式设置 OpenGL 标志:
glDepthFunc(GL_LESS);
glEnable(GL_DEPTH_TEST);
所以我假设这样做:
glDepthFunc(GL_GREATER);
glEnable(GL_DEPTH_TEST);
还允许我渲染距离相机最远的片段。但是,在设置这样的标志时,我看不到任何输出。 (我的应用程序没有进行其他修改)
如何渲染距离相机最远的片段?
最佳答案
深度范围是从0到1。
当清除深度时,整个数组默认用 1 填充。
您可以使用 glClearDepth(0)
更改它
您可以使用 glDepthRange(near, far)
GL_LESS
(默认)指出:
“如果传入的深度值小于存储的深度值,则通过。”
GL_GREATER
状态:
“如果传入的深度值大于存储的深度值,则通过。”
因此,您需要一些已清除的深度(0)以获得更大的深度。 (仅查看最远的片段)
关于opengl - OpenGL 中的反演深度测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48727482/