在 Win32 API 中,D3D10_COMPARISON_FUNC 枚举用于定义深度模板测试时的比较函数。以下是 D3D10_COMPARISON_FUNC 枚举的定义:
typedef enum D3D10_COMPARISON_FUNC {
    D3D10_COMPARISON_NEVER          = 1,
    D3D10_COMPARISON_LESS           = 2,
    D3D10_COMPARISON_EQUAL          = 3,
    D3D10_COMPARISON_LESS_EQUAL     = 4,
    D3D10_COMPARISON_GREATER        = 5,
    D3D10_COMPARISON_NOT_EQUAL      = 6,
    D3D10_COMPARISON_GREATER_EQUAL  = 7,
    D3D10_COMPARISON_ALWAYS         = 8
} D3D10_COMPARISON_FUNC;

这个枚举定义了深度模板测试时可以使用的比较函数。在深度模板测试中,每个像素的深度值与深度缓冲区中的值进行比较,从而决定像素是否应该被绘制。

  •  D3D10_COMPARISON_NEVER: 永远不通过深度测试。

  •  D3D10_COMPARISON_LESS: 如果像素深度值小于深度缓冲区中的值,则通过测试。

  •  D3D10_COMPARISON_EQUAL: 如果像素深度值等于深度缓冲区中的值,则通过测试。

  •  D3D10_COMPARISON_LESS_EQUAL: 如果像素深度值小于等于深度缓冲区中的值,则通过测试。

  •  D3D10_COMPARISON_GREATER: 如果像素深度值大于深度缓冲区中的值,则通过测试。

  •  D3D10_COMPARISON_NOT_EQUAL: 如果像素深度值不等于深度缓冲区中的值,则通过测试。

  •  D3D10_COMPARISON_GREATER_EQUAL: 如果像素深度值大于等于深度缓冲区中的值,则通过测试。

  •  D3D10_COMPARISON_ALWAYS: 总是通过深度测试。


你可以通过设置深度模板状态中的比较函数来配置深度测试的行为。


转载请注明出处:http://www.pingtaimeng.com/article/detail/25531/Win32 API/D3d10.h/D3D10_COMPARISON_FUNC