Add **Depth Offset to materials**

This commit is contained in:
Wojtek Figat
2023-01-29 22:09:51 +01:00
parent a214c14a4d
commit a219a3d2eb
13 changed files with 73 additions and 13 deletions

View File

@@ -426,6 +426,9 @@ void Material::InitCompilationOptions(ShaderCompilationOptions& options)
info.BlendMode != MaterialBlendMode::Opaque &&
EnumHasAnyFlags(info.UsageFlags, MaterialUsageFlags::UseRefraction) &&
(info.FeaturesFlags & MaterialFeaturesFlags::DisableDistortion) == MaterialFeaturesFlags::None;
const bool useDepthOffset =
(info.Domain == MaterialDomain::Surface) &&
EnumHasAnyFlags(info.UsageFlags, MaterialUsageFlags::UseDepthOffset);
// @formatter:off
static const char* Numbers[] =
@@ -496,6 +499,7 @@ void Material::InitCompilationOptions(ShaderCompilationOptions& options)
options.Macros.Add({ "USE_FORWARD", Numbers[useForward ? 1 : 0] });
options.Macros.Add({ "USE_DEFERRED", Numbers[isSurfaceOrTerrainOrDeformable && info.BlendMode == MaterialBlendMode::Opaque ? 1 : 0] });
options.Macros.Add({ "USE_DISTORTION", Numbers[useDistortion ? 1 : 0] });
options.Macros.Add({ "USE_DEPTH_OFFSET", Numbers[useDepthOffset ? 1 : 0] });
#endif
}