66 lines
2.6 KiB
HLSL
66 lines
2.6 KiB
HLSL
//------------------------------------------------------------------------------------------------------------------------------
|
|
// Alpha in PS
|
|
// This is included in the subpass fragment shader
|
|
#define LIL_ALPHA_PS
|
|
#if LIL_RENDER > 0
|
|
#if defined(LIL_OUTLINE)
|
|
BEFORE_ANIMATE_OUTLINE_UV
|
|
OVERRIDE_ANIMATE_OUTLINE_UV
|
|
#else
|
|
BEFORE_ANIMATE_MAIN_UV
|
|
OVERRIDE_ANIMATE_MAIN_UV
|
|
#endif
|
|
|
|
//------------------------------------------------------------------------------------------------------------------------------
|
|
// Main Color
|
|
#if defined(LIL_OUTLINE)
|
|
BEFORE_OUTLINE_COLOR
|
|
OVERRIDE_OUTLINE_COLOR
|
|
#else
|
|
BEFORE_MAIN
|
|
OVERRIDE_MAIN
|
|
#endif
|
|
|
|
//------------------------------------------------------------------------------------------------------------------------------
|
|
// Alpha Mask
|
|
BEFORE_ALPHAMASK
|
|
#if !defined(LIL_LITE) && defined(LIL_FEATURE_ALPHAMASK)
|
|
OVERRIDE_ALPHAMASK
|
|
#endif
|
|
|
|
//------------------------------------------------------------------------------------------------------------------------------
|
|
// Dissolve
|
|
BEFORE_DISSOLVE
|
|
#if !defined(LIL_LITE) && defined(LIL_FEATURE_DISSOLVE)
|
|
float dissolveAlpha = 0.0;
|
|
OVERRIDE_DISSOLVE
|
|
#endif
|
|
|
|
//------------------------------------------------------------------------------------------------------------------------------
|
|
// Fur
|
|
BEFORE_FUR
|
|
#if defined(LIL_FUR) && defined(LIL_V2F_FURLAYER)
|
|
OVERRIDE_FUR
|
|
#endif
|
|
|
|
//------------------------------------------------------------------------------------------------------------------------------
|
|
// Cutout
|
|
clip(fd.col.a - _Cutoff);
|
|
#if LIL_RENDER == 2 && !defined(SHADER_API_GLES)
|
|
// Dither
|
|
float alphaRef = fd.col.a;
|
|
#if defined(LIL_FUR) && defined(LIL_V2F_FURLAYER) && defined(SHADERPASS) && (SHADERPASS == SHADERPASS_SHADOWS)
|
|
fd.col.a = saturate(fd.col.a*5.0);
|
|
#endif
|
|
#if LIL_SUBPASS_TRANSPARENT_MODE == 1 || defined(SHADERPASS) && (SHADERPASS == SHADERPASS_SHADOWS)
|
|
alphaRef = lilSampleDither(_DitherMaskLOD, input.positionCS.xy, fd.col.a);
|
|
#elif LIL_SUBPASS_TRANSPARENT_MODE == 0 && defined(LIL_PASS_SHADOWCASTER_INCLUDED)
|
|
#if defined(SHADOWS_DEPTH)
|
|
if(LIL_MATRIX_P._m33 != 0.0)
|
|
#endif
|
|
alphaRef = lilSampleDither(_DitherMaskLOD, input.positionCS.xy, fd.col.a);
|
|
#endif
|
|
clip(alphaRef - _SubpassCutoff);
|
|
#endif
|
|
#endif
|
|
#undef LIL_ALPHA_PS |