Shader "URPTraining/TextureAlpha"
{
Properties{
_MainTex("Main Texture", 2D) = "white" {}
_Transparency("Transparency", Range(0,1)) = 0.5
}
SubShader
{
Tags
{
"RenderPipeline" = "UniversalPipeline"
"RenderType" = "TransparentCutout"
"Queue" = "Alphatest"
}
Pass
{
Name "Universal Forward"
Tags{ "LightMode" = "UniversalForward" }
Blend SrcAlpha OneMinusSrcAlpha
Cull Back
Zwrite off
HLSLPROGRAM
#pragma prefer_hlslcc gles
#pragma exclude_renderers d3d11_9x
#pragma vertex vert
#pragma fragment frag
#include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Lighting.hlsl"
#pragma multi_compile _ _MAIN_LIGHT_SHADOWS // sbr batcher
CBUFFER_START(UnityPerMaterial) // sbr batcher
float _Transparency;
float4 _MainTex_ST;
Texture2D _MainTex;
SamplerState sampler_MainTex;
CBUFFER_END // sbr batcher
struct VertexInput
{
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct VertexOutput
{
float4 vertex : SV_POSITION;
float2 uv : TEXCOORD0;
};
VertexOutput vert(VertexInput v)
{
VertexOutput o;
o.vertex = TransformObjectToHClip(v.vertex.xyz);
o.uv = v.uv.xy * _MainTex_ST.xy + _MainTex_ST.zw;
return o;
}
half4 frag(VertexOutput i) : SV_Target
{
float4 color = _MainTex.Sample(sampler_MainTex, i.uv);
color.a *= _Transparency;
return color;
}
ENDHLSL
}
}
}