Refactor material shaders generator to use modular features as extensions

This commit is contained in:
Wojtek Figat
2021-02-05 11:55:02 +01:00
parent 01777a2c1b
commit 089f0dab3a
8 changed files with 108 additions and 150 deletions

View File

@@ -162,6 +162,13 @@ void ForwardShadingFeature::Generate(GeneratorData& data)
data.ResourcesCount = SRVs;
}
void DeferredShadingFeature::Generate(GeneratorData& data)
{
data.Template = TEXT("Features/DeferredShading.hlsl");
data.ConstantsSize = 0;
data.ResourcesCount = 0;
}
void TessellationFeature::Generate(GeneratorData& data)
{
data.Template = TEXT("Features/Tessellation.hlsl");

View File

@@ -43,6 +43,14 @@ struct ForwardShadingFeature : MaterialShaderFeature
#endif
};
// Material shader feature that add support for Deferred shading inside the material shader.
struct DeferredShadingFeature : MaterialShaderFeature
{
#if USE_EDITOR
static void Generate(GeneratorData& data);
#endif
};
// Material shader feature that adds geometry hardware tessellation (using Hull and Domain shaders).
struct TessellationFeature : MaterialShaderFeature
{