JJBB/Assets/Project/Shader/CameraBlack.shader
2024-08-23 15:49:34 +08:00

76 lines
1.2 KiB
Plaintext

// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Shader "Zhanyou/CameraBlack"
{
Properties
{
_MainTex("Sprite Texture", 2D) = "white" {}
_Color("Alpha Color Key", Color) = (0,0,0,1)
_IsGray("IsGray", Range(100, 200.0)) = 100
}
SubShader
{
Tags
{
"RenderType" = "Opaque"
"Queue" = "Transparent+1"
}
Pass
{
ZWrite Off
Blend SrcAlpha OneMinusSrcAlpha
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
sampler2D _MainTex;
float4 _Color;
int _IsGray;
struct Vertex
{
float4 vertex : POSITION;
float2 uv_MainTex : TEXCOORD0;
float2 uv2 : TEXCOORD1;
};
struct Fragment
{
float4 vertex : POSITION;
float2 uv_MainTex : TEXCOORD0;
float2 uv2 : TEXCOORD1;
};
Fragment vert(Vertex v)
{
Fragment o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv_MainTex = v.uv_MainTex;
o.uv2 = v.uv2;
return o;
}
float4 frag(Fragment IN) : COLOR
{
half4 c = tex2D(_MainTex, IN.uv_MainTex);
if (_IsGray > 0)
{
half gray = (c.r * 30 + c.g * 59 + c.b * 11) / _IsGray;
c.r = gray;
c.g = gray;
c.b = gray;
}
return c;
}
ENDCG
}
}
}