Skip to content

Commit f9d7cfa

Browse files
Add concept of ShaderPassDefine.hlsl
1 parent af68ea9 commit f9d7cfa

File tree

14 files changed

+98
-134
lines changed

14 files changed

+98
-134
lines changed

com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/ShaderPass.template.hlsl

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,3 @@
1-
$Material.EyeCinematic: #define _MATERIAL_FEATURE_EYE_CINEMATIC 1
2-
$Material.SubsurfaceScattering: #define _MATERIAL_FEATURE_SUBSURFACE_SCATTERING 1
3-
$AmbientOcclusion: #define _AMBIENT_OCCLUSION 1
4-
$SpecularOcclusionFromAO: #define _SPECULAR_OCCLUSION_FROM_AO 1
5-
$SpecularOcclusionFromAOBentNormal: #define _SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL 1
6-
$SpecularOcclusionCustom: #define _SPECULAR_OCCLUSION_CUSTOM 1
7-
$Specular.AA: #define _ENABLE_GEOMETRIC_SPECULAR_AA 1
8-
9-
// If we use subsurface scattering, enable output split lighting (for forward pass)
10-
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
11-
#define OUTPUT_SPLIT_LIGHTING
12-
#endif
13-
141
void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData)
152
{
163
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
$Material.EyeCinematic: #define _MATERIAL_FEATURE_EYE_CINEMATIC 1
2+
$Material.SubsurfaceScattering: #define _MATERIAL_FEATURE_SUBSURFACE_SCATTERING 1
3+
$AmbientOcclusion: #define _AMBIENT_OCCLUSION 1
4+
$SpecularOcclusionFromAO: #define _SPECULAR_OCCLUSION_FROM_AO 1
5+
$SpecularOcclusionFromAOBentNormal: #define _SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL 1
6+
$SpecularOcclusionCustom: #define _SPECULAR_OCCLUSION_CUSTOM 1
7+
$Specular.AA: #define _ENABLE_GEOMETRIC_SPECULAR_AA 1
8+
9+
// If we use subsurface scattering, enable output split lighting (for forward pass)
10+
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
11+
#define OUTPUT_SPLIT_LIGHTING
12+
#endif

com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/ShaderPassDefine.template.hlsl.meta

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/ShaderPass.template.hlsl

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,3 @@
1-
$Material.CottonWool: #define _MATERIAL_FEATURE_COTTON_WOOL 1
2-
$Material.Transmission: #define _MATERIAL_FEATURE_TRANSMISSION 1
3-
$Material.SubsurfaceScattering: #define _MATERIAL_FEATURE_SUBSURFACE_SCATTERING 1
4-
$AmbientOcclusion: #define _AMBIENT_OCCLUSION 1
5-
$SpecularOcclusionFromAO: #define _SPECULAR_OCCLUSION_FROM_AO 1
6-
$SpecularOcclusionFromAOBentNormal: #define _SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL 1
7-
$SpecularOcclusionCustom: #define _SPECULAR_OCCLUSION_CUSTOM 1
8-
$Specular.EnergyConserving: #define _ENERGY_CONSERVING_SPECULAR 1
9-
$Specular.AA: #define _ENABLE_GEOMETRIC_SPECULAR_AA 1
10-
11-
// If we use subsurface scattering, enable output split lighting (for forward pass)
12-
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
13-
#define OUTPUT_SPLIT_LIGHTING
14-
#endif
15-
161
void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData)
172
{
183
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
$Material.CottonWool: #define _MATERIAL_FEATURE_COTTON_WOOL 1
2+
$Material.Transmission: #define _MATERIAL_FEATURE_TRANSMISSION 1
3+
$Material.SubsurfaceScattering: #define _MATERIAL_FEATURE_SUBSURFACE_SCATTERING 1
4+
$AmbientOcclusion: #define _AMBIENT_OCCLUSION 1
5+
$SpecularOcclusionFromAO: #define _SPECULAR_OCCLUSION_FROM_AO 1
6+
$SpecularOcclusionFromAOBentNormal: #define _SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL 1
7+
$SpecularOcclusionCustom: #define _SPECULAR_OCCLUSION_CUSTOM 1
8+
$Specular.EnergyConserving: #define _ENERGY_CONSERVING_SPECULAR 1
9+
$Specular.AA: #define _ENABLE_GEOMETRIC_SPECULAR_AA 1
10+
11+
// If we use subsurface scattering, enable output split lighting (for forward pass)
12+
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
13+
#define OUTPUT_SPLIT_LIGHTING
14+
#endif

com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/ShaderPassDefine.template.hlsl.meta

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/ShaderPass.template.hlsl

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,3 @@
1-
$Material.KajiyaKay: #define _MATERIAL_FEATURE_HAIR_KAJIYA_KAY 1
2-
$UseLightFacingNormal: #define _USE_LIGHT_FACING_NORMAL 1
3-
$AmbientOcclusion: #define _AMBIENT_OCCLUSION 1
4-
$SpecularOcclusionFromAO: #define _SPECULAR_OCCLUSION_FROM_AO 1
5-
$SpecularOcclusionFromAOBentNormal: #define _SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL 1
6-
$SpecularOcclusionCustom: #define _SPECULAR_OCCLUSION_CUSTOM 1
7-
$Specular.AA: #define _ENABLE_GEOMETRIC_SPECULAR_AA 1
8-
91
void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, inout SurfaceData surfaceData)
102
{
113
// using alpha compositing https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch23.html
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
$Material.KajiyaKay: #define _MATERIAL_FEATURE_HAIR_KAJIYA_KAY 1
2+
$UseLightFacingNormal: #define _USE_LIGHT_FACING_NORMAL 1
3+
$AmbientOcclusion: #define _AMBIENT_OCCLUSION 1
4+
$SpecularOcclusionFromAO: #define _SPECULAR_OCCLUSION_FROM_AO 1
5+
$SpecularOcclusionFromAOBentNormal: #define _SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL 1
6+
$SpecularOcclusionCustom: #define _SPECULAR_OCCLUSION_CUSTOM 1
7+
$Specular.AA: #define _ENABLE_GEOMETRIC_SPECULAR_AA 1

com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/ShaderPassDefine.template.hlsl.meta

Lines changed: 10 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/ShaderPass.template.hlsl

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,3 @@
1-
$Material.SubsurfaceScattering: #define _MATERIAL_FEATURE_SUBSURFACE_SCATTERING 1
2-
$Material.Transmission: #define _MATERIAL_FEATURE_TRANSMISSION 1
3-
$Material.Anisotropy: #define _MATERIAL_FEATURE_ANISOTROPY 1
4-
$Material.Iridescence: #define _MATERIAL_FEATURE_IRIDESCENCE 1
5-
$Material.SpecularColor: #define _MATERIAL_FEATURE_SPECULAR_COLOR 1
6-
$Material.ClearCoat: #define _MATERIAL_FEATURE_CLEAR_COAT
7-
$AmbientOcclusion: #define _AMBIENT_OCCLUSION 1
8-
$SpecularOcclusionFromAO: #define _SPECULAR_OCCLUSION_FROM_AO 1
9-
$SpecularOcclusionFromAOBentNormal: #define _SPECULAR_OCCLUSION_FROM_AO_BENT_NORMAL 1
10-
$SpecularOcclusionCustom: #define _SPECULAR_OCCLUSION_CUSTOM 1
11-
$Specular.EnergyConserving: #define _ENERGY_CONSERVING_SPECULAR 1
12-
$Specular.AA: #define _ENABLE_GEOMETRIC_SPECULAR_AA 1
13-
$Refraction: #define _HAS_REFRACTION 1
14-
$RefractionBox: #define _REFRACTION_PLANE 1
15-
$RefractionSphere: #define _REFRACTION_SPHERE 1
16-
$RefractionThin: #define _REFRACTION_THIN 1
17-
18-
// If we use subsurface scattering, enable output split lighting (for forward pass)
19-
#if defined(_MATERIAL_FEATURE_SUBSURFACE_SCATTERING) && !defined(_SURFACE_TYPE_TRANSPARENT)
20-
#define OUTPUT_SPLIT_LIGHTING
21-
#endif
22-
23-
// This shader support recursive rendering for raytracing
24-
#define HAVE_RECURSIVE_RENDERING
25-
261
void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDescription, float3 V, PositionInputs posInput, out SurfaceData surfaceData, out float3 bentNormalWS)
272
{
283
ZERO_INITIALIZE(SurfaceData, surfaceData);

0 commit comments

Comments
 (0)