|
|
@@ -154,13 +154,13 @@ technique ShadowProjectOmni
|
|
|
|
|
|
float occlusion = 0.0f;
|
|
|
#if SHADOW_QUALITY <= 1
|
|
|
- occlusion = gShadowCubeTex.SampleCmpLevelZero(gShadowCubeSampler, lightDir, receiverDepth - shadowBias);
|
|
|
+ occlusion = gShadowCubeTex.SampleCmp(gShadowCubeSampler, lightDir, receiverDepth - shadowBias);
|
|
|
#elif SHADOW_QUALITY == 2
|
|
|
[unroll]
|
|
|
for(int i = 0; i < 4; ++i)
|
|
|
{
|
|
|
float3 sampleDir = lightDir + side * discSamples4[i].x + up * discSamples4[i].y;
|
|
|
- occlusion += gShadowCubeTex.SampleCmpLevelZero(gShadowCubeSampler, sampleDir, receiverDepth - shadowBias);
|
|
|
+ occlusion += gShadowCubeTex.SampleCmp(gShadowCubeSampler, sampleDir, receiverDepth - shadowBias);
|
|
|
}
|
|
|
|
|
|
occlusion /= 4;
|
|
|
@@ -169,7 +169,7 @@ technique ShadowProjectOmni
|
|
|
for(int i = 0; i < 12; ++i)
|
|
|
{
|
|
|
float3 sampleDir = lightDir + side * discSamples12[i].x + up * discSamples12[i].y;
|
|
|
- occlusion += gShadowCubeTex.SampleCmpLevelZero(gShadowCubeSampler, sampleDir, receiverDepth - shadowBias);
|
|
|
+ occlusion += gShadowCubeTex.SampleCmp(gShadowCubeSampler, sampleDir, receiverDepth - shadowBias);
|
|
|
}
|
|
|
|
|
|
occlusion /= 12;
|
|
|
@@ -178,7 +178,7 @@ technique ShadowProjectOmni
|
|
|
for(int i = 0; i < 32; ++i)
|
|
|
{
|
|
|
float3 sampleDir = lightDir + side * discSamples32[i].x + up * discSamples32[i].y;
|
|
|
- occlusion += gShadowCubeTex.SampleCmpLevelZero(gShadowCubeSampler, sampleDir, receiverDepth - shadowBias);
|
|
|
+ occlusion += gShadowCubeTex.SampleCmp(gShadowCubeSampler, sampleDir, receiverDepth - shadowBias);
|
|
|
}
|
|
|
|
|
|
occlusion /= 32;
|