Added new fabirc pbr mode;
Added new stocking surface feature; Fixed the issue that diffuse bsdf is not energy conserving. Fixed the bug that shader can not render alpha clip properly;
This commit is contained in:
@@ -82,12 +82,12 @@ Shader "HDRP/Toon"
|
||||
|
||||
// Surface Options
|
||||
[Popup] _TransparentEnabled("Transparent Mode", Integer) = 0
|
||||
[Popup(_ALPHATEST_ON)] _AlphaCutoffEnable("Alpha Cutoff Enable", Float) = 0.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
|
||||
[KeywordEnum(Standard, SDF)] _Shading_Mode("Shading mode", Integer) = 0
|
||||
[KeywordEnum(Standard, FrontHair, Face, Eye)] _Material_Type("Material Type", Integer) = 0
|
||||
[KeywordEnum(Off, Standard, Anisotropy, Hair, Toon)] _PBR_Mode("PBR Mode", Integer) = 0
|
||||
[KeywordEnum(Off, Standard, Anisotropy, Hair, Fabric, Toon)] _PBR_Mode("PBR Mode", Integer) = 0
|
||||
[PassPopup(HairBlendingTarget)] _HairBlendingTarget("Hair Blending Target", Integer) = 0
|
||||
[EnumFlagsUI(Misaki.HdrpToon.SurfaceFeature, Misaki.HdrpToon)]_SurfaceFeatures("Surface Features", Integer) = 0
|
||||
|
||||
@@ -127,7 +127,7 @@ Shader "HDRP/Toon"
|
||||
[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
|
||||
_ShadowNormalBias("ShadowNormalBias", Range(-5.0, 5.0)) = 0.0
|
||||
//_Tweak_SystemShadowsLevel("Tweak_SystemShadowsLevel", Range(-0.5, 0.5)) = 0
|
||||
|
||||
// Surface Inputs
|
||||
@@ -195,6 +195,7 @@ Shader "HDRP/Toon"
|
||||
// Rim Light
|
||||
_RimLightColor("Rim Light Color", Color) = (1, 1, 1, 1)
|
||||
_RimLightIntensity("Rim Light Intensity", Range(0, 10)) = 1
|
||||
[ToggleUI] _AlbedoAffectRimLight("Albedo Affect Rim Light", Integer) = 0
|
||||
[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
|
||||
@@ -238,7 +239,7 @@ Shader "HDRP/Toon"
|
||||
[ToggleUI] _UseSmoothedNormal("Use Smoothed Normal", Float) = 0
|
||||
|
||||
// Advance
|
||||
_LightIntensityMultiplier("Light_Intensity_Multiplier" , Range(0, 1)) = 0.5
|
||||
_LightIntensityMultiplier("Light_Intensity_Multiplier" , Range(0, 3)) = 1
|
||||
[ToggleUI] _ClampLightColor("VRChat : SceneLights HiCut_Filter", Float) = 0
|
||||
_Minimal_Diffuse_Contribution("Minimal_Diffuse_Contribution", Range(0, 1)) = 0.05
|
||||
[KeywordEnum(Single, Full, Custom)] _Light_Loop_Mode ("Light Loop Mode", Float) = 1
|
||||
@@ -423,7 +424,7 @@ Shader "HDRP/Toon"
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/ShaderPass/LitSharePass.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl"
|
||||
|
||||
#include "Packages/com.misaki.hdrp-toon/Runtime/Shaders/Includes/ShaderPass/UtsShaderPassGBuffer.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassGBuffer.hlsl"
|
||||
#pragma vertex Vert
|
||||
#pragma fragment Frag
|
||||
|
||||
@@ -510,6 +511,10 @@ Shader "HDRP/Toon"
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
#pragma shader_feature_local_fragment _MASKMAP
|
||||
#pragma shader_feature_local _NORMALMAP
|
||||
#pragma shader_feature_local_fragment _NORMALMAP_TANGENT_SPACE
|
||||
|
||||
#pragma shader_feature_local _ALPHATEST_ON
|
||||
|
||||
// In deferred, depth only pass don't output anything.
|
||||
@@ -707,19 +712,26 @@ Shader "HDRP/Toon"
|
||||
Tags { "LightMode" = "ForwardOnly" }
|
||||
|
||||
ZWrite [_ZWriteMode]
|
||||
ZTest [_ZTestMode]
|
||||
ZTest [_ZTestDepthEqualForOpaque]
|
||||
Cull [_CullMode]
|
||||
Blend [_SrcBlend] [_DstBlend], [_AlphaSrcBlend] [_AlphaDstBlend]
|
||||
Stencil {
|
||||
|
||||
Blend [_SrcBlend] [_DstBlend], [_AlphaSrcBlend] [_AlphaDstBlend]
|
||||
// ForwardOpaque | ForwardTransparent
|
||||
Blend 1 One OneMinusSrcAlpha // VT feedback | VT feedback <- if VT is off, all targets below are shifted by 1
|
||||
Blend 2 One [_DstBlend2] // diffuse lighting | motion vector
|
||||
Blend 3 One [_DstBlend2] // SSS buffer | before refraction <- This target (or the one above if VT off) needs blending in transparent but not in opaque
|
||||
Blend 4 One OneMinusSrcAlpha // | before refraction alpha
|
||||
|
||||
Stencil
|
||||
{
|
||||
Ref[_StencilNo]
|
||||
|
||||
Comp[_StencilComp]
|
||||
Pass[_StencilOpPass]
|
||||
Fail[_StencilOpFail]
|
||||
|
||||
}
|
||||
|
||||
|
||||
HLSLPROGRAM
|
||||
#pragma multi_compile _ DEBUG_DISPLAY
|
||||
#pragma multi_compile _ LIGHTMAP_ON
|
||||
@@ -729,7 +741,7 @@ Shader "HDRP/Toon"
|
||||
// Setup DECALS_OFF so the shader stripper can remove variants
|
||||
#pragma multi_compile DECALS_OFF DECALS_3RT DECALS_4RT
|
||||
#pragma multi_compile SCREEN_SPACE_SHADOWS_OFF SCREEN_SPACE_SHADOWS_ON
|
||||
|
||||
|
||||
#pragma multi_compile_fragment USE_FPTL_LIGHTLIST USE_CLUSTERED_LIGHTLIST
|
||||
//#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
|
||||
@@ -752,8 +764,8 @@ Shader "HDRP/Toon"
|
||||
|
||||
#pragma shader_feature_local_fragment _SHADING_MODE_STANDARD _SHADING_MODE_SDF
|
||||
#pragma shader_feature_local_fragment _MATERIAL_TYPE_STANDARD _MATERIAL_TYPE_FRONTHAIR _MATERIAL_TYPE_FACE _MATERIAL_TYPE_EYE
|
||||
#pragma shader_feature_local_fragment _PBR_MODE_OFF _PBR_MODE_STANDARD _PBR_MODE_ANISOTROPY _PBR_MODE_HAIR _PBR_MODE_TOON
|
||||
|
||||
#pragma shader_feature_local_fragment _PBR_MODE_OFF _PBR_MODE_STANDARD _PBR_MODE_ANISOTROPY _PBR_MODE_HAIR _PBR_MODE_FABRIC _PBR_MODE_TOON
|
||||
|
||||
#pragma shader_feature_local_fragment _USE_SHADING_RAMP_MAP_ON
|
||||
|
||||
#pragma shader_feature_local_fragment _RECEIVE_LIGHT_SHADOW_ON
|
||||
@@ -783,16 +795,12 @@ Shader "HDRP/Toon"
|
||||
#define PUNCTUAL_SHADOW_MEDIUM
|
||||
#define DIRECTIONAL_SHADOW_MEDIUM
|
||||
#define AREA_SHADOW_MEDIUM
|
||||
|
||||
|
||||
#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
|
||||
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl"
|
||||
#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl"
|
||||
|
||||
@@ -890,7 +898,7 @@ Shader "HDRP/Toon"
|
||||
Tags { "LightMode" = "Outline" }
|
||||
|
||||
Cull Front
|
||||
Blend Off
|
||||
Blend SrcAlpha OneMinusSrcAlpha
|
||||
|
||||
HLSLPROGRAM
|
||||
|
||||
|
||||
Reference in New Issue
Block a user