Spine-Skeleton-ForwardPass-URP.hlsl 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef SKELETON_FORWARD_PASS_URP_INCLUDED
  2. #define SKELETON_FORWARD_PASS_URP_INCLUDED
  3. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
  4. #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/CommonMaterial.hlsl"
  5. #include "SpineCoreShaders/Spine-Common.cginc"
  6. struct appdata {
  7. float3 pos : POSITION;
  8. half4 color : COLOR;
  9. float2 uv0 : TEXCOORD0;
  10. UNITY_VERTEX_INPUT_INSTANCE_ID
  11. };
  12. struct VertexOutput {
  13. half4 color : COLOR0;
  14. float2 uv0 : TEXCOORD0;
  15. float4 pos : SV_POSITION;
  16. UNITY_VERTEX_OUTPUT_STEREO
  17. };
  18. VertexOutput vert(appdata v) {
  19. VertexOutput o;
  20. UNITY_SETUP_INSTANCE_ID(v);
  21. UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
  22. float3 positionWS = TransformObjectToWorld(v.pos);
  23. o.pos = TransformWorldToHClip(positionWS);
  24. o.uv0 = v.uv0;
  25. o.color = PMAGammaToTargetSpace(v.color);
  26. return o;
  27. }
  28. half4 frag(VertexOutput i) : SV_Target{
  29. float4 texColor = tex2D(_MainTex, i.uv0);
  30. #if defined(_STRAIGHT_ALPHA_INPUT)
  31. texColor.rgb *= texColor.a;
  32. #endif
  33. return (texColor * i.color);
  34. }
  35. #endif