Shader code cleanupand bug fix.

This commit is contained in:
2025-02-17 22:15:27 +09:00
parent eacbbc9b8b
commit 4ce84572d0
20 changed files with 375 additions and 467 deletions

View File

@@ -224,7 +224,7 @@ Shader "HDRP/Toon"
[KeywordEnum(Standard, SDF)] _Shading_Mode("Shading mode", Integer) = 0
[KeywordEnum(Standard, FrontHair, Face, Eye)] _Material_Type("Material Type", Integer) = 0
[KeywordEnum(Off, Standard, Anisotropy, KKHair, Toon)] _PBR_Mode("PBR Mode", Integer) = 0
[ToggleUI] _HairBlendingTarget("Hair Blending Target", Integer) = 0
[PassPopup(HairBlendingTarget)] _HairBlendingTarget("Hair Blending Target", Integer) = 0
[EnumFlagsUI(Misaki.HdrpToon.SurfaceFeature, Misaki.HdrpToon)]_SurfaceFeatures("Surface Features", Integer) = 0
// Shading Color
@@ -255,8 +255,8 @@ Shader "HDRP/Toon"
// Shadow
[Popup] _Receive_Light_Shadow("Receive Light Shadow", Integer) = 0
[Popup] _Receive_Screen_Space_Shadow("Receive Screen Space Shadow", Float) = 0
[Popup] _Receive_Hair_Shadow("Receive Hair Shadow", Float) = 0
[Popup] _Receive_Screen_Space_Shadow("Receive Screen Space Shadow", Integer) = 0
[Popup] _Receive_Hair_Shadow("Receive Hair Shadow", Integer) = 0
_ShadowDistanceBias("ShadowBias", Range(0.0, 5.0)) = 0.0
_ShadowNormalBias("ShadowNormalBias", Range(0.0, 5.0)) = 0.0
@@ -317,17 +317,21 @@ Shader "HDRP/Toon"
//_Set_HighColorMask("Set_HighColorMask", 2D) = "white" {}
//_Tweak_HighColorMaskLevel("Tweak_HighColorMaskLevel", Range(-1, 1)) = 0
//[Toggle(_)] _RimLight("RimLight", Float) = 0
_RimLightColor("RimLightColor", Color) = (1, 1, 1, 1)
_RimLightStrength("RimLight_Strength", Range(0, 10)) = 1
_RimLightColor("Rim Light Color", Color) = (1, 1, 1, 1)
_RimLightIntensity("Rim Light Intensity", Range(0, 10)) = 1
[Popup] _Screen_Space_Rim_Light ("Screen Space Rim Light", Integer) = 0
_RimLightLevel("RimLight Level", Range(0, 1)) = 0.1
[ToggleUI] _RimLightClipping("Rim Light Clipping", Float) = 0.25
_RimLightClippingLevel("Rim Light Clipping Level", Range(0.0001, 1)) = 0.0001
[Popup] _Light_Base_Rim_Light ("Light Base Rim Light", Integer) = 0
_LightDirectionRimLightLevel("Light Direction Rim Light Level", Range(0, 0.5)) = 0
[ToggleUI] _Is_LightColor_RimLight("Is_LightColor_RimLight", Float) = 1
[ToggleUI] _Is_NormalMapToRimLight("Is_NormalMapToRimLight", Float) = 0
_RimLightLevel("RimLight Level", Range(0, 1)) = 0.1
_RimLight_InsideMask("RimLight_InsideMask", Range(0.0001, 1)) = 0.0001
[ToggleUI] _RimLight_FeatherOff("RimLight_FeatherOff", Float) = 0
[ToggleUI] _LightDirection_MaskOn("LightDirection_MaskOn", Float) = 0
_Tweak_LightDirection_MaskLevel("Tweak_LightDirection_MaskLevel", Range(0, 0.5)) = 0
[ToggleUI] _Add_Antipodean_RimLight("Add_Antipodean_RimLight", Float) = 0
_Ap_RimLightColor("Ap_RimLightColor", Color) = (1, 1, 1, 1)
[ToggleUI] _Is_LightColor_Ap_RimLight("Is_LightColor_Ap_RimLight", Float) = 1
@@ -345,8 +349,8 @@ Shader "HDRP/Toon"
_AngelRingOffsetV("Angel Ring Offset V", Range(0, 1)) = 0
// Outline
[PassPopup(Outline)] _OutlineState("Outline State", Integer) = 0
_OutlineWidth("Outline Width", Float) = 0
[PassPopup(Outline)] _OutlineState("Outline State", Integer) = 1
_OutlineWidth("Outline Width", Float) = 0.25
_OutlineWidthMap("Outline Tex", 2D) = "white" {}
_OutlineColor("Outline Color", Color) = (0.5, 0.5, 0.5, 1)
_OutlineColorMap("Outline Color Map", 2D) = "white" {}
@@ -968,9 +972,9 @@ Shader "HDRP/Toon"
Name "ForwardOnly"
Tags { "LightMode" = "ForwardOnly" }
ZWrite[_ZWriteMode]
ZWrite [_ZWriteMode]
ZTest [_ZTestMode]
Cull[_CullMode]
Cull [_CullMode]
Blend SrcAlpha OneMinusSrcAlpha
Stencil {
@@ -996,6 +1000,9 @@ Shader "HDRP/Toon"
#pragma multi_compile SCREEN_SPACE_SHADOWS_OFF SCREEN_SPACE_SHADOWS_ON
#pragma multi_compile_fragment USE_FPTL_LIGHTLIST USE_CLUSTERED_LIGHTLIST
//Probe volume
#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
@@ -1012,8 +1019,6 @@ Shader "HDRP/Toon"
// controlling mask rendering
#pragma shader_feature _ _IS_CLIPPING_MATTE
#pragma shader_feature _EMISSIVE_SIMPLE _EMISSIVE_ANIMATION
//Probe volume
#pragma multi_compile PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2
#pragma shader_feature ENABLE_UTS_HAIR_SHAOW
#pragma shader_feature ENABLE_UTS_HAIR_BLENDING
@@ -1031,6 +1036,9 @@ Shader "HDRP/Toon"
#pragma shader_feature_local_fragment _INDIRECT_DIFFUSE_MODE_OFF _INDIRECT_DIFFUSE_MODE_IBL _INDIRECT_DIFFUSE_MODE_MATCAP _INDIRECT_DIFFUSE_MODE_RAMP
#pragma shader_feature_local_fragment _INDIRECT_SPECULAR_MODE_OFF _INDIRECT_SPECULAR_MODE_IBL _INDIRECT_SPECULAR_MODE_MATCAP
#pragma shader_feature_local_fragment _SCREEN_SPACE_RIM_LIGHT_ON
#pragma shader_feature_local_fragment _LIGHT_BASE_RIM_LIGHT_ON
#pragma shader_feature_local_fragment _MASKMAP
#pragma shader_feature_local_fragment _NORMALMAP
#pragma shader_feature_local_fragment _ANISOTROPYMAP
@@ -1040,12 +1048,6 @@ Shader "HDRP/Toon"
#pragma shader_feature_local_fragment _OUTLINECOLORMAP
#if _PBR_MODE_OFF
#undef _MASKMAP
#undef _ANISOTROPYMAP
#undef _SPECULARCOLORMAP
#endif
#define PUNCTUAL_SHADOW_MEDIUM
#define DIRECTIONAL_SHADOW_MEDIUM
#define AREA_SHADOW_MEDIUM
@@ -1133,8 +1135,6 @@ Shader "HDRP/Toon"
HLSLPROGRAM
#pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch
// enable dithering LOD crossfade
#pragma multi_compile _ LOD_FADE_CROSSFADE
#define SHADERPASS SHADERPASS_CONSTANT
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"