[unity] URP shaders: Fixed SRP batcher compatibility issues and compile errors at some project configurations.

This commit is contained in:
Harald Csaszar 2023-05-31 17:53:02 +02:00
parent f0c53a757f
commit a1f27d74b1
8 changed files with 14 additions and 22 deletions

View File

@ -7,7 +7,7 @@
#include "../Include/SpineCoreShaders/SpriteLighting.cginc"
#if defined(_ALPHAPREMULTIPLY_ON)
#undef _STRAIGHT_ALPHA_INPUT
#else
#elif !defined(_STRAIGHT_ALPHA_INPUT)
#define _STRAIGHT_ALPHA_INPUT
#endif
#include "../Include/SpineCoreShaders/Spine-Skeleton-Tint-Common.cginc"

View File

@ -90,7 +90,7 @@ Shader "Universal Render Pipeline/2D/Spine/Sprite"
#pragma shader_feature _TINT_BLACK_ON
#pragma fragmentoption ARB_precision_hint_fastest
#pragma multi_compile _ PIXELSNAP_ON
#pragma multi_compile_local _ PIXELSNAP_ON
//--------------------------------------
// GPU Instancing
@ -98,7 +98,6 @@ Shader "Universal Render Pipeline/2D/Spine/Sprite"
//--------------------------------------
// Spine related keywords
#pragma shader_feature _ _STRAIGHT_ALPHA_INPUT
#pragma vertex CombinedShapeLightVertex
#pragma fragment CombinedShapeLightFragment
@ -109,6 +108,7 @@ Shader "Universal Render Pipeline/2D/Spine/Sprite"
#include "Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/LightingUtility.hlsl"
#define SPRITE_SHADER_2D
#include "../Include/Spine-Input-Sprite-URP.hlsl"
#include "Include/Spine-Sprite-StandardPass-URP-2D.hlsl"
ENDHLSL
@ -133,7 +133,7 @@ Shader "Universal Render Pipeline/2D/Spine/Sprite"
#pragma shader_feature _NORMALMAP
#pragma shader_feature _ALPHA_CLIP
#pragma multi_compile _ PIXELSNAP_ON
#pragma multi_compile_local _ PIXELSNAP_ON
//--------------------------------------
// GPU Instancing
@ -143,7 +143,7 @@ Shader "Universal Render Pipeline/2D/Spine/Sprite"
#define fixed4 half4
#define fixed3 half3
#define fixed half
#define SPRITE_SHADER_2D
#include "../Include/Spine-Input-Sprite-URP.hlsl"
#include "Include/Spine-Sprite-NormalsPass-URP-2D.hlsl"
@ -161,9 +161,6 @@ Shader "Universal Render Pipeline/2D/Spine/Sprite"
HLSLPROGRAM
#pragma shader_feature _ _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON _ALPHAPREMULTIPLY_VERTEX_ONLY _ADDITIVEBLEND _ADDITIVEBLEND_SOFT _MULTIPLYBLEND _MULTIPLYBLEND_X2
#if defined(_ALPHAPREMULTIPLY_VERTEX_ONLY) || defined(_ALPHABLEND_ON)
#define _STRAIGHT_ALPHA_INPUT
#endif
#pragma prefer_hlslcc gles
#pragma vertex UnlitVertex

View File

@ -10,8 +10,9 @@
CBUFFER_START(UnityPerMaterial)
float4 _MainTex_ST;
#ifndef NO_CUTOFF_PARAM
half _Cutoff;
#endif
float _OutlineWidth;
float4 _OutlineColor;
float4 _MainTex_TexelSize;

View File

@ -7,15 +7,15 @@ CBUFFER_START(UnityPerMaterial)
float4 _MainTex_ST;
half4 _Color;
#if defined(_TINT_BLACK_ON)
half4 _Black;
#endif
half _Cutoff;
half _ShadowAlphaCutoff;
#ifndef SPRITE_SHADER_2D
half _Metallic;
half _Glossiness;
half _GlossMapScale;
#endif
half _BumpScale;

View File

@ -12,10 +12,8 @@ CBUFFER_START(UnityPerMaterial)
float4 _MainTex_ST;
half _Cutoff;
#if defined(_TINT_BLACK_ON)
half4 _Color;
half4 _Black;
#endif
half4 _Color;
half4 _Black;
CBUFFER_END

View File

@ -9,7 +9,7 @@
#if defined(_ALPHAPREMULTIPLY_ON)
#undef _STRAIGHT_ALPHA_INPUT
#else
#elif !defined(_STRAIGHT_ALPHA_INPUT)
#define _STRAIGHT_ALPHA_INPUT
#endif
#include "SpineCoreShaders/Spine-Skeleton-Tint-Common.cginc"

View File

@ -49,6 +49,7 @@ Shader "Universal Render Pipeline/Spine/Outline/Skeleton-OutlineOnly" {
#define fixed4 half4
#define fixed3 half3
#define fixed half
#define NO_CUTOFF_PARAM
#include "../Include/Spine-Input-Outline-URP.hlsl"
#include "../Include/Spine-Outline-Pass-URP.hlsl"
ENDHLSL

View File

@ -111,7 +111,7 @@ Shader "Universal Render Pipeline/Spine/Sprite"
#pragma multi_compile _ _SHADOWS_SOFT
#pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE
#pragma multi_compile_fragment _ _LIGHT_COOKIES
// Farward+ renderer keywords
#pragma multi_compile_fragment _ _LIGHT_LAYERS
#pragma multi_compile _ _FORWARD_PLUS
@ -129,7 +129,6 @@ Shader "Universal Render Pipeline/Spine/Sprite"
//--------------------------------------
// Spine related keywords
#pragma shader_feature _ _STRAIGHT_ALPHA_INPUT
#pragma vertex ForwardPassVertexSprite
#pragma fragment ForwardPassFragmentSprite
@ -225,10 +224,6 @@ Shader "Universal Render Pipeline/Spine/Sprite"
HLSLPROGRAM
#pragma shader_feature _ _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON _ALPHAPREMULTIPLY_VERTEX_ONLY _ADDITIVEBLEND _ADDITIVEBLEND_SOFT _MULTIPLYBLEND _MULTIPLYBLEND_X2
#if defined(_ALPHAPREMULTIPLY_VERTEX_ONLY) || defined(_ALPHABLEND_ON)
#define _STRAIGHT_ALPHA_INPUT
#endif
#pragma prefer_hlslcc gles
#pragma vertex vert
#pragma fragment frag