Updated OutlineScope;
Reorgnize shader code;
This commit is contained in:
@@ -157,7 +157,7 @@ Shader "HDRP/Toon"
|
||||
[HideInInspector] _AlphaDstBlend("__alphaDst", Float) = 0.0
|
||||
[HideInInspector][ToggleUI] _ZWrite("__zw", Float) = 1.0
|
||||
[HideInInspector][ToggleUI] _TransparentZWrite("_TransparentZWrite", Float) = 0.0
|
||||
[Enum(Off, 0, Front, 1, Back, 2)] _CullMode("__cullmode", Float) = 2.0
|
||||
//[Enum(Off, 0, Front, 1, Back, 2)] _CullMode("__cullmode", Float) = 2.0
|
||||
[HideInInspector] _CullModeForward("__cullmodeForward", Float) = 2.0 // This mode is dedicated to Forward to correctly handle backface then front face rendering thin transparent
|
||||
[HideInInspector] _TransparentCullMode("_TransparentCullMode", Int) = 2 // Back culling by default
|
||||
[HideInInspector] _ZTestDepthEqualForOpaque("_ZTestDepthEqualForOpaque", Int) = 4 // Less equal
|
||||
@@ -234,15 +234,15 @@ Shader "HDRP/Toon"
|
||||
// -----------------------------------------------------------------------
|
||||
|
||||
// Surface Options
|
||||
[Enum(Off, 0, On, 1)] _TransparentEnabled("Transparent Mode", int) = 0
|
||||
[Popup] _TransparentEnabled("Transparent Mode", Integer) = 0
|
||||
[ToggleUI] _AlphaCutoffEnable("Alpha Cutoff Enable", Float) = 0.0
|
||||
_AlphaCutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5
|
||||
[Enum(Off, 0, FRONT, 1, BACK, 2)] _CullMode("Cull Mode", int) = 2 //OFF/FRONT/BACK
|
||||
[KeywordEnum(Standard, SDF)] _Shading_Mode("Shade Grade mode", Float) = 0
|
||||
[KeywordEnum(Standard, FrontHair, Face, Eye)] _Material_Type("Material Type", int) = 0
|
||||
[KeywordEnum(Off, Standard, Anisotropy, KKHair, Toon)] _PBR_Mode("PBR Mode", int) = 0
|
||||
[ToggleUI] _HairBlendingTarget("Hair Blending Target", Float) = 0
|
||||
_SurfaceFeatures("Surface Features", Float) = 0
|
||||
[Enum(Off, 0, Front, 1, Back, 2)] _CullMode("Cull Mode", Integer) = 2
|
||||
[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
|
||||
[EnumFlagsUI(Misaki.HdrpToon.SurfaceFeature, Misaki.HdrpToon)]_SurfaceFeatures("Surface Features", Integer) = 0
|
||||
|
||||
// Shading Color
|
||||
[Popup] _Use_Shading_Ramp_Map("Use Shading Ramp Map", Integer) = 0
|
||||
@@ -325,6 +325,7 @@ 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
|
||||
_OutlineWidthMap("Outline Tex", 2D) = "white" {}
|
||||
_OutlineColor("Outline Color", Color) = (0.5, 0.5, 0.5, 1)
|
||||
@@ -667,7 +668,20 @@ Shader "HDRP/Toon"
|
||||
#pragma multi_compile DECALS_OFF DECALS_3RT DECALS_4RT
|
||||
#pragma multi_compile _ LIGHT_LAYERS
|
||||
|
||||
#pragma shader_feature_local_fragment _PBR_MODE_OFF
|
||||
|
||||
#pragma shader_feature_local_fragment _MASKMAP
|
||||
#pragma shader_feature_local_fragment _NORMALMAP
|
||||
#pragma shader_feature_local_fragment _ANISOTROPYMAP
|
||||
#pragma shader_feature_local_fragment _SPECULARCOLORMAP
|
||||
|
||||
#pragma shader_feature_local_fragment _EMISSIVECOLORMAP
|
||||
|
||||
#if _PBR_MODE_OFF
|
||||
#undef _MASKMAP
|
||||
#undef _ANISOTROPYMAP
|
||||
#undef _SPECULARCOLORMAP
|
||||
#endif
|
||||
|
||||
#ifndef DEBUG_DISPLAY
|
||||
// When we have alpha test, we will force a depth prepass so we always bypass the clip instruction in the GBuffer
|
||||
@@ -676,9 +690,9 @@ Shader "HDRP/Toon"
|
||||
#endif
|
||||
|
||||
#define SHADERPASS SHADERPASS_GBUFFER
|
||||
#ifdef DEBUG_DISPLAY
|
||||
#ifdef DEBUG_DISPLAY
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl"
|
||||
#endif
|
||||
#endif
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
||||
// #include "MaterialGBufferMacrosUTS.hlsl" // must be above lit.hlsl
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl"
|
||||
@@ -1019,32 +1033,39 @@ Shader "HDRP/Toon"
|
||||
#pragma shader_feature_local_fragment _INDIRECT_SPECULAR_MODE_OFF _INDIRECT_SPECULAR_MODE_IBL _INDIRECT_SPECULAR_MODE_MATCAP
|
||||
|
||||
#pragma shader_feature_local_fragment _MASKMAP
|
||||
#pragma shader_feature_local_fragment _NORMAL_MAP
|
||||
#pragma shader_feature_local_fragment _ANISOTROPY_MAP
|
||||
#pragma shader_feature_local_fragment _SPECULAR_COLOR_MAP
|
||||
#pragma shader_feature_local_fragment _EMISSIVE_COLOR_MAP
|
||||
#pragma shader_feature_local_fragment _NORMALMAP
|
||||
#pragma shader_feature_local_fragment _ANISOTROPYMAP
|
||||
#pragma shader_feature_local_fragment _SPECULARCOLORMAP
|
||||
|
||||
#pragma shader_feature_local_fragment _OUTLINE_COLOR_MAP
|
||||
#pragma shader_feature_local_fragment _EMISSIVECOLORMAP
|
||||
|
||||
#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
|
||||
|
||||
#ifndef SHADER_STAGE_FRAGMENT
|
||||
#define SHADOW_LOW
|
||||
#define USE_FPTL_LIGHTLIST
|
||||
#endif
|
||||
#ifndef SHADER_STAGE_FRAGMENT
|
||||
#define SHADOW_LOW
|
||||
#define USE_FPTL_LIGHTLIST
|
||||
#endif
|
||||
|
||||
#if !defined(_SURFACE_TYPE_TRANSPARENT) && !defined(DEBUG_DISPLAY)
|
||||
#define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST
|
||||
#endif
|
||||
#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"
|
||||
|
||||
#ifdef DEBUG_DISPLAY
|
||||
#include "Packages/com.misaki.hdrp-toon/Runtime/Shaders/Includes/Common/UtsCommon.hlsl"
|
||||
#endif
|
||||
#ifdef DEBUG_DISPLAY
|
||||
#include "Packages/com.misaki.hdrp-toon/Runtime/Shaders/Includes/Common/UtsCommon.hlsl"
|
||||
#endif
|
||||
|
||||
// The light loop (or lighting architecture) is in charge to:
|
||||
// - Define light list
|
||||
|
||||
Reference in New Issue
Block a user