阴影贴图的样本深度,无需禁用硬件PCF

时间:2016-05-18 14:38:41

标签: 3d directx shader hlsl shadow-mapping

我有一个阴影贴图,启用了硬件百分比 - 近距离过滤。但我还需要获取阴影贴图中存储的深度值,以便将其用于在像素着色器中实现其他技术。问题是所有采样函数( tex2D tex2Dproj )都会返回深度比较的最终结果。它运作良好但我无法获得深度值本身。

是否可以保留硬件PCF进行阴影贴图采样深度值本身

但是有一个限制,我无法处理应用程序如何创建阴影贴图,我只能编辑着色器。

1 个答案:

答案 0 :(得分:0)

如果您可以找到未使用的SamplerState / sampler2D绑定插槽,则应该能够在那里声明一个并将其与通用Sample / tex2D操作一起使用。由于采样器状态槽未被应用程序取消绑定,因此驱动程序应使用默认的点样本设置。如果深度缓冲区支持这种类型的访问,它应该返回PCF前的值。