https://docs.unity3d.com/2018.3/Documentation/Manual/SL-SamplerStates.html
https://blog.csdn.net/linjf520/article/details/94558038
这内联的采样器状态命名有点任性:
TEXTURE2D_SHADOW(_DirectionalShadowTex);
#define SHADOW_SAMPLER2 xxxx12_linear333_clampddd_compare
SAMPLER_CMP(SHADOW_SAMPLER2);
float SampleDirectionalShadow(float3 position)
{
return SAMPLE_TEXTURE2D_SHADOW(_DirectionalShadowTex, SHADOW_SAMPLER2, position);
}
这样都可以。
好像只要能找到就行,顺序了、大小写了都不关心。
但是这样就不行:
TEXTURE2D_SHADOW(_DirectionalShadowTex);
#define SHADOW_SAMPLER2 point_comparex_cldamp
SAMPLER_CMP(SHADOW_SAMPLER2);
float SampleDirectionalShadow(float3 position)
{
return SAMPLE_TEXTURE2D_SHADOW(_DirectionalShadowTex, SHADOW_SAMPLER2, position);
}
也就是必须包含filter和wrap两个模式才行。