Graphics/ShadowMapping: Replace bias by a position scale

Inspired by Godot (see https://github.com/godotengine/godot-proposals/issues/4517)
This commit is contained in:
SirLynix
2023-10-21 19:31:07 +02:00
parent b04d7662ce
commit 6a9177a109
6 changed files with 60 additions and 12 deletions

View File

@@ -264,6 +264,8 @@ namespace Nz
settings.AddPass(depthPassIndex, depthPass);
MaterialPass shadowPass = depthPass;
shadowPass.options[CRC32("ShadowPass")] = true;
shadowPass.states.frontFace = FrontFace::Clockwise;
shadowPass.states.depthClamp = enabledFeatures.depthClamping;
settings.AddPass(shadowPassIndex, shadowPass);
@@ -290,6 +292,8 @@ namespace Nz
settings.AddPass(depthPassIndex, depthPass);
MaterialPass shadowPass = depthPass;
shadowPass.options[CRC32("ShadowPass")] = true;
shadowPass.states.frontFace = FrontFace::Clockwise;
shadowPass.states.depthClamp = enabledFeatures.depthClamping;
settings.AddPass(shadowPassIndex, shadowPass);
@@ -316,6 +320,8 @@ namespace Nz
settings.AddPass(depthPassIndex, depthPass);
MaterialPass shadowPass = depthPass;
shadowPass.options[CRC32("ShadowPass")] = true;
shadowPass.states.frontFace = FrontFace::Clockwise;
shadowPass.states.depthClamp = enabledFeatures.depthClamping;
settings.AddPass(shadowPassIndex, shadowPass);