三国卡牌客户端基础资源仓库
hch
7 天以前 e35c8e096041b3cf97d91677bf8d6c4587223a9b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef SPINE_COMMON_INCLUDED
#define SPINE_COMMON_INCLUDED
 
#if defined(USE_LWRP)
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#define GammaToLinearSpace SRGBToLinear
#define LinearToGammaSpace LinearToSRGB
#elif defined(USE_URP)
#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl"
#define GammaToLinearSpace SRGBToLinear
#define LinearToGammaSpace LinearToSRGB
#else
#include "UnityCG.cginc"
#endif
 
inline half3 GammaToTargetSpace(half3 gammaColor) {
#if UNITY_COLORSPACE_GAMMA
    return gammaColor;
#else
    return GammaToLinearSpace(gammaColor);
#endif
}
 
inline half3 TargetToGammaSpace(half3 targetColor) {
#if UNITY_COLORSPACE_GAMMA
    return targetColor;
#else
    return LinearToGammaSpace(targetColor);
#endif
}
 
inline half4 PMAGammaToTargetSpace(half4 gammaPMAColor) {
#if UNITY_COLORSPACE_GAMMA
    return gammaPMAColor;
#else
    return gammaPMAColor.a == 0 ?
        half4(GammaToLinearSpace(gammaPMAColor.rgb), gammaPMAColor.a) :
        half4(GammaToLinearSpace(gammaPMAColor.rgb / gammaPMAColor.a) * gammaPMAColor.a, gammaPMAColor.a);
#endif
}
 
// Saturated version to prevent numerical issues that occur at CanvasRenderer
// shader during linear-space PMA vertex color correction (countering automatic Unity conversion).
// Note: Only use this method when the original color.rgb values lie within [0,1] range and
// it's not an HDR color. This method is usually suitable for vertex color.
inline half4 PMAGammaToTargetSpaceSaturated(half4 gammaPMAColor) {
#if UNITY_COLORSPACE_GAMMA
    return gammaPMAColor;
#else
    return gammaPMAColor.a == 0 ?
        half4(GammaToLinearSpace(gammaPMAColor.rgb), gammaPMAColor.a) :
        half4(saturate(GammaToLinearSpace(gammaPMAColor.rgb / gammaPMAColor.a)) * gammaPMAColor.a, gammaPMAColor.a);
#endif
}
 
#endif