c1_unity/Assets/arts/shaders/models/SideInclude.cginc
2023-04-03 11:04:31 +08:00

21 lines
808 B
HLSL

#ifndef SIDE_INCLUDE
#define SIDE_INCLUDE
uniform fixed4 _sideColor;
uniform fixed _sideSmooth;
uniform fixed _leftSide;
uniform fixed _rightSide;
uniform fixed _upSide;
uniform fixed _downSide;
inline fixed3 AddSide(fixed2 _worldUV,fixed3 _finalRGB)
{
fixed leftside = saturate((_worldUV.x-_leftSide)/_sideSmooth);
fixed rightside = saturate((1 - (_worldUV.x-_rightSide))/_sideSmooth);
fixed upside = saturate((1 - (_worldUV.y-_upSide))/_sideSmooth);
fixed downside = saturate((_worldUV.y-_downSide)/_sideSmooth);
fixed side = saturate(leftside * rightside * upside * downside);
side = smoothstep(0,1,side);
fixed3 finalRGB = lerp(_finalRGB * _sideColor, _finalRGB, side);
return finalRGB;
}
#endif