Revision | 641b20609e4fc0a8f0e2bf0c2bbc634ba652f0d9 (tree) |
---|---|
Zeit | 2019-04-14 16:42:40 |
Autor | <jarmonik@c0f5...> |
- Added Felix24's shadow fixes
@@ -256,7 +256,7 @@ | ||
256 | 256 | float kr = gSHD[0] * KERNEL_RADIUS; |
257 | 257 | float dx = rsqrt(1.0 - dLN*dLN); |
258 | 258 | float ofs = kr / (dLN * dx); |
259 | - float omx = min(0.07 + ofs, 0.3); | |
259 | + float omx = min(0.05 + ofs, 0.5); | |
260 | 260 | |
261 | 261 | if (gBaseBuilding) { |
262 | 262 |
@@ -268,7 +268,6 @@ | ||
268 | 268 | // It's a vessel |
269 | 269 | float pd = shdH.z + omx * gSHD[3]; |
270 | 270 | fShadow = SampleShadowsEx(sp, pd, sc); |
271 | - //fShadow = smoothstep(0.3f, 1.0f, fShadow); | |
272 | 271 | } |
273 | 272 | |
274 | 273 | return 1 - fShadow; |
@@ -195,7 +195,7 @@ | ||
195 | 195 | // ---------------------------------------------------------------------- |
196 | 196 | |
197 | 197 | #if SHDMAP > 0 |
198 | - cSun *= ComputeShadow(frg.shdH, dLN, sc); | |
198 | + cSun *= smoothstep(0, 0.72, ComputeShadow(frg.shdH, dLN, sc)); | |
199 | 199 | #endif |
200 | 200 | |
201 | 201 |
@@ -453,7 +453,7 @@ | ||
453 | 453 | // ---------------------------------------------------------------------- |
454 | 454 | |
455 | 455 | #if SHDMAP > 0 |
456 | - float fShadow = ComputeShadow(frg.shdH, dLN, sc); | |
456 | + float fShadow = smoothstep(0, 0.72, ComputeShadow(frg.shdH, dLN, sc)); | |
457 | 457 | dLN *= fShadow; |
458 | 458 | #endif |
459 | 459 |
@@ -2111,7 +2111,7 @@ | ||
2111 | 2111 | D3DXMatrixMultiply(&smap.mViewProj, &smap.mView, &smap.mProj); |
2112 | 2112 | |
2113 | 2113 | float rs = float(ViewH()) * rad / (float(GetTanAp()) * D3DXVec3Length(&pos)); |
2114 | - float lod = log2f(float(Config->ShadowMapSize) / (rs)); | |
2114 | + float lod = log2f(float(Config->ShadowMapSize) / (rs*1.5f)); | |
2115 | 2115 | |
2116 | 2116 | smap.lod = min(int(round(lod)), SHM_LOD_COUNT - 1); |
2117 | 2117 | smap.lod = max(smap.lod, 0); |