Files
2026-04-16 04:58:10 +09:00

230 lines
7.9 KiB
Plaintext

Shader "BadDog/URP/BGAreaSpineLit"
{
Properties
{
_Cutoff("Shadow alpha cutoff", Range(0, 1)) = 0.1
[NoScaleOffset] _MainTex("Main Texture", 2D) = "black" {}
[Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0
[Toggle(_ZWRITE)] _ZWrite("Depth Write", Float) = 0.0
[Toggle(_RECEIVE_SHADOWS)] _ReceiveShadows("Receive Shadows", Int) = 0
[Toggle(_DOUBLE_SIDED_LIGHTING)] _DoubleSidedLighting("Double-Sided Lighting", Int) = 0
[MaterialToggle(_LIGHT_AFFECTS_ADDITIVE)] _LightAffectsAdditive("Light Affects Additive", Float) = 0
[MaterialToggle(_TINT_BLACK_ON)] _TintBlack("Tint Black", Float) = 0
_Color(" Light Color", Color) = (1, 1, 1, 1)
_Black(" Dark Color", Color) = (0, 0, 0, 0)
[MaterialToggle(_ADAPTIVE_PROBE_VOLUMES_PER_PIXEL)] _AdaptiveProbeVolumesPerPixel("APV per Pixel", Float) = 1
[HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Compare", Float) = 8
}
SubShader
{
Tags
{
"RenderPipeline" = "UniversalPipeline"
"Queue" = "Transparent"
"IgnoreProjector" = "True"
"RenderType" = "Transparent"
}
LOD 100
Cull Off
ZWrite[_ZWrite]
Blend One OneMinusSrcAlpha
Stencil
{
Ref[_StencilRef]
Comp[_StencilComp]
Pass Keep
}
Pass
{
Name "ForwardLit"
Tags { "LightMode" = "UniversalForward" }
ZWrite[_ZWrite]
Cull Off
Blend One OneMinusSrcAlpha
HLSLPROGRAM
// Required to compile gles 2.0 with standard srp library
#pragma prefer_hlslcc gles
#pragma exclude_renderers d3d11_9x
// -------------------------------------
// Universal Pipeline keywords
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
#pragma multi_compile _ _SHADOWS_SOFT
#pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE
#pragma multi_compile _ _LIGHT_AFFECTS_ADDITIVE
#pragma multi_compile_fragment _ _LIGHT_COOKIES
#pragma shader_feature _TINT_BLACK_ON
#pragma multi_compile_fragment _ _ENABLE_BG_AREA_LIGHTING
#pragma multi_compile _ _LIGHT_LAYERS
#if UNITY_VERSION >= 60000100
#pragma multi_compile _ _CLUSTER_LIGHT_LOOP
#else
#pragma multi_compile _ _FORWARD_PLUS
#endif
// -------------------------------------
// Unity defined keywords
#if UNITY_VERSION >= 60000000
#pragma multi_compile_fragment _ DEBUG_DISPLAY
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl"
#endif
#if UNITY_VERSION >= 60000100
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Fog.hlsl"
#else
#pragma multi_compile_fog
#endif
// -------------------------------------
// GPU Instancing
#pragma multi_compile_instancing
#pragma instancing_options renderinglayer
// -------------------------------------
// Spine related keywords
#pragma shader_feature _ _STRAIGHT_ALPHA_INPUT
#pragma shader_feature _ _DOUBLE_SIDED_LIGHTING
#pragma shader_feature _RECEIVE_SHADOWS_OFF _RECEIVE_SHADOWS
#pragma vertex vert
#pragma fragment frag
#undef LIGHTMAP_ON
#define USE_URP
#define fixed4 half4
#define fixed3 half3
#define fixed half
#define BGAREA_SPINE_PASS_FORWARDLIT
#include "Packages/com.baddog.rendering.arealight/Shaders/BadDog/BGAreaSpineLitForwardPass.hlsl"
#undef BGAREA_SPINE_PASS_FORWARDLIT
ENDHLSL
}
Pass
{
Name "ShadowCaster"
Tags { "LightMode" = "ShadowCaster" }
ZWrite On
ColorMask 0
ZTest LEqual
Cull Off
HLSLPROGRAM
// Required to compile gles 2.0 with standard srp library
#pragma prefer_hlslcc gles
#pragma exclude_renderers d3d11_9x
#pragma target 2.0
// -------------------------------------
// Material Keywords
#pragma shader_feature _ALPHATEST_ON
// -------------------------------------
// GPU Instancing
#pragma multi_compile_instancing
#pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
#pragma shader_feature _ _DOUBLE_SIDED_LIGHTING
#pragma vertex ShadowPassVertexSkeletonLit
#pragma fragment ShadowPassFragmentSkeletonLit
#define USE_URP
#define fixed4 half4
#define fixed3 half3
#define fixed half
#define BGAREA_SPINE_PASS_SHADOWCASTER
#include "Packages/com.baddog.rendering.arealight/Shaders/BadDog/BGAreaSpineLitForwardPass.hlsl"
#undef BGAREA_SPINE_PASS_SHADOWCASTER
ENDHLSL
}
Pass
{
Name "DepthOnly"
Tags { "LightMode" = "DepthOnly" }
ZWrite On
ColorMask R
Cull Off
HLSLPROGRAM
// Required to compile gles 2.0 with standard srp library
#pragma prefer_hlslcc gles
#pragma exclude_renderers d3d11_9x
#pragma vertex DepthOnlyVertex
#pragma fragment DepthOnlyFragment
// -------------------------------------
// Material Keywords
#pragma shader_feature _ALPHATEST_ON
#pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
// -------------------------------------
// GPU Instancing
#pragma multi_compile_instancing
#define USE_URP
#define fixed4 half4
#define fixed3 half3
#define fixed half
#define BGAREA_SPINE_PASS_DEPTHONLY
#include "Packages/com.baddog.rendering.arealight/Shaders/BadDog/BGAreaSpineLitForwardPass.hlsl"
#undef BGAREA_SPINE_PASS_DEPTHONLY
ENDHLSL
}
// This pass is used when drawing to a _CameraNormalsTexture texture
Pass
{
Name "DepthNormals"
Tags { "LightMode" = "DepthNormals" }
ZWrite On
HLSLPROGRAM
#pragma vertex DepthNormalsVertex
#pragma fragment DepthNormalsFragment
// -------------------------------------
// Material Keywords
#pragma shader_feature _ALPHATEST_ON
#pragma shader_feature _ _DOUBLE_SIDED_LIGHTING
// -------------------------------------
// Universal Pipeline keywords
#include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
// -------------------------------------
// GPU Instancing
#pragma multi_compile_instancing
#define USE_URP
#define fixed4 half4
#define fixed3 half3
#define fixed half
#define BGAREA_SPINE_PASS_DEPTHNORMALS
#include "Packages/com.baddog.rendering.arealight/Shaders/BadDog/BGAreaSpineLitForwardPass.hlsl"
#undef BGAREA_SPINE_PASS_DEPTHNORMALS
ENDHLSL
}
}
FallBack "Universal Render Pipeline/Unlit"
}