名称
glDepthFunc - 指定用于深度缓冲区比较的值
C规范
void glDepthFunc( GLenum func);
参数
func
指定深度比较功能。接受符号常量GL_NEVER,GL_LESS,GL_EQUAL,GL_LEQUAL,GL_GREATER,GL_NOTEQUAL,GL_GEQUAL和GL_ALWAYS。初始值为GL_LESS。
描述
glDepthFunc指定用于将每个输入像素深度值与深度缓冲区中存在的深度值进行比较的函数。仅在启用深度测试时才执行比较。 (参见GL_DEPTH_TEST的glEnable和glDisable。)
func指定绘制像素的条件。比较功能如下:
GL_NEVER
永远不通过。
GL_LESS
如果传入深度值小于存储的深度值(离观看者更近),则通过。
GL_EQUAL
如果传入深度值等于存储的深度值,则通过。
GL_LEQUAL
如果传入深度值小于或等于存储的深度值,则通过。
GL_GREATER
如果传入深度值大于存储的深度值,则通过。
GL_NOTEQUAL
如果传入的深度值不等于存储的深度值,则通过。
GL_GEQUAL
如果传入的深度值大于或等于存储的深度值,则通过。
GL_ALWAYS
总是通过。
func的初始值是GL_LESS。最初,深度测试被禁用。如果禁用深度测试或不存在深度缓冲,则就好像深度测试总是通过一样。
注意
即使存在深度缓冲区且深度掩模不为零,如果禁用深度测试,也不会更新深度缓冲区。
错误
GL_INVALID_ENUM:func不是可接受的值
相关Gets
glGet 参数GL_DEPTH_FUNC
glIsEnabled 参数GL_DEPTH_TEST
另见
glDepthRangef,glEnable,glPolygonOffset
版权
https://www.khronos.org/registry/OpenGL-Refpages/es2.0/html/glDepthFunc.xhtml