Added UTSAPI
This commit is contained in:
@@ -2,7 +2,7 @@ Shader "HDRP/Toon"
|
||||
{
|
||||
Properties
|
||||
{
|
||||
//TODO: Use custom rendering data.
|
||||
//TODO: Write HDRP properties to UTS properties
|
||||
[ToggleUI] _UseShadowThreshold("_UseShadowThreshold", Float) = 0.0
|
||||
_AlphaCutoffShadow("_AlphaCutoffShadow", Range(0.0, 1.0)) = 0.5
|
||||
_AlphaCutoffPrepass("_AlphaCutoffPrepass", Range(0.0, 1.0)) = 0.5
|
||||
@@ -81,7 +81,7 @@ Shader "HDRP/Toon"
|
||||
//TODO: Move more properties here for better organization
|
||||
|
||||
// Surface Options
|
||||
[Popup] _TransparentEnabled("Transparent Mode", Integer) = 0
|
||||
[Popup(_SURFACE_TYPE_TRANSPARENT)] _TransparentEnabled("Transparent Mode", Integer) = 0
|
||||
[Popup(_ALPHATEST_ON)] _AlphaCutoffEnable("Alpha Cutoff Enable", Integer) = 0.0
|
||||
_AlphaCutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5
|
||||
[Enum(Off, 0, Front, 1, Back, 2)] _CullMode("Cull Mode", Integer) = 2
|
||||
@@ -392,6 +392,8 @@ Shader "HDRP/Toon"
|
||||
#pragma multi_compile DECALS_OFF DECALS_3RT DECALS_4RT
|
||||
#pragma multi_compile _ LIGHT_LAYERS
|
||||
|
||||
#pragma shader_feature _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
#pragma shader_feature_local_fragment _PBR_MODE_OFF
|
||||
|
||||
#pragma shader_feature_local_fragment _MASKMAP
|
||||
@@ -444,6 +446,8 @@ Shader "HDRP/Toon"
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma shader_feature_local _ALPHATEST_ON
|
||||
#pragma shader_feature _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
// Lightmap memo
|
||||
// DYNAMICLIGHTMAP_ON is used when we have an "enlighten lightmap" ie a lightmap updated at runtime by enlighten.This lightmap contain indirect lighting from realtime lights and realtime emissive material.Offline baked lighting(from baked material / light,
|
||||
// both direct and indirect lighting) will hand up in the "regular" lightmap->LIGHTMAP_ON.
|
||||
@@ -565,6 +569,7 @@ Shader "HDRP/Toon"
|
||||
#pragma multi_compile _ WRITE_MSAA_DEPTH
|
||||
|
||||
#pragma shader_feature_local _ALPHATEST_ON
|
||||
#pragma shader_feature _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
|
||||
#define SHADERPASS SHADERPASS_MOTION_VECTORS
|
||||
@@ -630,6 +635,7 @@ Shader "HDRP/Toon"
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma shader_feature_local _ALPHATEST_ON
|
||||
#pragma shader_feature _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
|
||||
#define SHADERPASS SHADERPASS_DEPTH_ONLY
|
||||
@@ -661,6 +667,7 @@ Shader "HDRP/Toon"
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma shader_feature_local _ALPHATEST_ON
|
||||
#pragma shader_feature _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
#pragma multi_compile _ DEBUG_DISPLAY
|
||||
#pragma multi_compile _ LIGHTMAP_ON
|
||||
@@ -743,18 +750,13 @@ Shader "HDRP/Toon"
|
||||
#pragma multi_compile SCREEN_SPACE_SHADOWS_OFF SCREEN_SPACE_SHADOWS_ON
|
||||
|
||||
#pragma multi_compile_fragment USE_FPTL_LIGHTLIST USE_CLUSTERED_LIGHTLIST
|
||||
|
||||
// NOTE: We force shadow to medium for the moment.
|
||||
//#pragma multi_compile_fragment PUNCTUAL_SHADOW_LOW PUNCTUAL_SHADOW_MEDIUM PUNCTUAL_SHADOW_HIGH
|
||||
//#pragma multi_compile_fragment DIRECTIONAL_SHADOW_LOW DIRECTIONAL_SHADOW_MEDIUM DIRECTIONAL_SHADOW_HIGH
|
||||
//#pragma multi_compile_fragment AREA_SHADOW_MEDIUM AREA_SHADOW_HIGH
|
||||
#pragma multi_compile PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
||||
|
||||
#define SHADERPASS SHADERPASS_FORWARD
|
||||
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
||||
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
||||
#if !defined(_SURFACE_TYPE_TRANSPARENT) && !defined(DEBUG_DISPLAY)
|
||||
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
||||
#endif
|
||||
|
||||
#pragma shader_feature _EMISSIVE_SIMPLE _EMISSIVE_ANIMATION
|
||||
|
||||
#pragma shader_feature ENABLE_UTS_HAIR_SHAOW
|
||||
@@ -790,6 +792,7 @@ Shader "HDRP/Toon"
|
||||
#pragma shader_feature_local_fragment _OUTLINECOLORMAP
|
||||
|
||||
#pragma shader_feature_local _ALPHATEST_ON
|
||||
#pragma shader_feature _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
|
||||
#define PUNCTUAL_SHADOW_MEDIUM
|
||||
@@ -801,6 +804,15 @@ Shader "HDRP/Toon"
|
||||
#define USE_FPTL_LIGHTLIST
|
||||
#endif
|
||||
|
||||
|
||||
#define SHADERPASS SHADERPASS_FORWARD
|
||||
// In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI)
|
||||
// Don't do it with debug display mode as it is possible there is no depth prepass in this case
|
||||
#if !defined(_SURFACE_TYPE_TRANSPARENT) && !defined(DEBUG_DISPLAY)
|
||||
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
||||
#endif
|
||||
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl"
|
||||
|
||||
@@ -850,6 +862,7 @@ Shader "HDRP/Toon"
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma shader_feature_local _ALPHATEST_ON
|
||||
#pragma shader_feature _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
#define SHADERPASS SHADERPASS_DEPTH_ONLY
|
||||
#define CUTOFF_TRANSPARENT_DEPTH_POSTPASS
|
||||
@@ -1018,11 +1031,15 @@ Shader "HDRP/Toon"
|
||||
#pragma multi_compile PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
||||
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
|
||||
|
||||
#define SHADERPASS SHADERPASS_RAYTRACING_INDIRECT
|
||||
|
||||
// multi compile that allows us to strip the recursive code
|
||||
#pragma multi_compile _ MULTI_BOUNCE_INDIRECT
|
||||
|
||||
#pragma shader_feature_local_raytracing _NORMALMAP
|
||||
#pragma shader_feature_local_raytracing _ALPHATEST_ON
|
||||
#pragma shader_feature_raytracing _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
#define SHADERPASS SHADERPASS_RAYTRACING_INDIRECT
|
||||
|
||||
// If you need to change this, be sure to read this comment.
|
||||
// For raytracing we decided to force the shadow quality to low.
|
||||
// - The performance is the first reason, given that it may happen during the ray tracing stage for indirect or in a non-tiled context for deferred
|
||||
@@ -1070,6 +1087,10 @@ Shader "HDRP/Toon"
|
||||
#pragma multi_compile PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
|
||||
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
|
||||
|
||||
#pragma shader_feature_local_raytracing _NORMALMAP
|
||||
#pragma shader_feature_local_raytracing _ALPHATEST_ON
|
||||
#pragma shader_feature_raytracing _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
#define SHADERPASS SHADERPASS_RAYTRACING_FORWARD
|
||||
|
||||
// If you need to change this, be sure to read this comment.
|
||||
@@ -1120,6 +1141,10 @@ Shader "HDRP/Toon"
|
||||
#pragma multi_compile _ DIRLIGHTMAP_COMBINED
|
||||
#pragma multi_compile _ MINIMAL_GBUFFER
|
||||
|
||||
#pragma shader_feature_local_raytracing _NORMALMAP
|
||||
#pragma shader_feature_local_raytracing _ALPHATEST_ON
|
||||
#pragma shader_feature_raytracing _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
#define SHADERPASS SHADERPASS_RAYTRACING_GBUFFER
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingMacros.hlsl"
|
||||
@@ -1151,6 +1176,10 @@ Shader "HDRP/Toon"
|
||||
#pragma only_renderers d3d11 ps5
|
||||
#pragma raytracing surface_shader
|
||||
|
||||
#pragma shader_feature_local_raytracing _NORMALMAP
|
||||
#pragma shader_feature_local_raytracing _ALPHATEST_ON
|
||||
#pragma shader_feature_raytracing _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
#define SHADERPASS SHADERPASS_RAYTRACING_VISIBILITY
|
||||
#pragma multi_compile _ TRANSPARENT_COLOR_SHADOW
|
||||
|
||||
@@ -1182,6 +1211,10 @@ Shader "HDRP/Toon"
|
||||
|
||||
#pragma multi_compile _ DEBUG_DISPLAY
|
||||
|
||||
#pragma shader_feature_local_raytracing _NORMALMAP
|
||||
#pragma shader_feature_local_raytracing _ALPHATEST_ON
|
||||
#pragma shader_feature_raytracing _SURFACE_TYPE_TRANSPARENT
|
||||
|
||||
#define SHADERPASS SHADERPASS_PATH_TRACING
|
||||
|
||||
// This is just because it needs to be defined, shadow maps are not used.
|
||||
|
||||
Reference in New Issue
Block a user