纹理比较模式 Texture Comparison Modes
纹理值也可以根据指定的比较函数进行计算。纹理参数TEXTURE_COMPARE_MODE
指定了比较的操作数,参数TEXTURE_COMPARE_FUNC
指定了比较函数。
深度纹理比较模式 Depth Texture Comparison Mode
如果当前绑定纹理的基础内部格式为DEPTH_COMPONENT
或DEPTH_STENCIL
,那么TEXTURE_COMPARE_MODE
和TEXTURE_COMPARE_FUNC
将按照以下描述控制纹理单元的输出。否则,纹理单元将以正常方式运作,跳过纹理比较。
假设Dt
为深度纹理值,St
为模板索引组件。如果没有模板组件,St
的值未定义。令Dref
为着色器纹理查找函数提供的参考值。如果纹理的内部格式指示为定点深度纹理,则Dt
和Dref
会被限制在[0, 1]范围内;否则不进行任何钳位操作。
接下来,按照以下方式计算有效纹理值:
- 如果基础内部格式为
STENCIL_INDEX
,则r
=St
。 - 如果基础内部格式为
DEPTH_STENCIL
,且DEPTH_STENCIL_TEXTURE_MODE
的值为STENCIL_INDEX
,