Spine-Common.cginc 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef SPINE_COMMON_INCLUDED
  2. #define SPINE_COMMON_INCLUDED
  3. #if defined(USE_LWRP)
  4. #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
  5. #define GammaToLinearSpace SRGBToLinear
  6. #define LinearToGammaSpace LinearToSRGB
  7. #elif defined(USE_URP)
  8. #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
  9. #define GammaToLinearSpace SRGBToLinear
  10. #define LinearToGammaSpace LinearToSRGB
  11. #else
  12. #include "UnityCG.cginc"
  13. #endif
  14. inline half3 GammaToTargetSpace(half3 gammaColor) {
  15. #if UNITY_COLORSPACE_GAMMA
  16. return gammaColor;
  17. #else
  18. return GammaToLinearSpace(gammaColor);
  19. #endif
  20. }
  21. inline half3 TargetToGammaSpace(half3 targetColor) {
  22. #if UNITY_COLORSPACE_GAMMA
  23. return targetColor;
  24. #else
  25. return LinearToGammaSpace(targetColor);
  26. #endif
  27. }
  28. inline half4 PMAGammaToTargetSpace(half4 gammaPMAColor) {
  29. #if UNITY_COLORSPACE_GAMMA
  30. return gammaPMAColor;
  31. #else
  32. return gammaPMAColor.a == 0 ?
  33. half4(GammaToLinearSpace(gammaPMAColor.rgb), gammaPMAColor.a) :
  34. half4(GammaToLinearSpace(gammaPMAColor.rgb / gammaPMAColor.a) * gammaPMAColor.a, gammaPMAColor.a);
  35. #endif
  36. }
  37. #endif