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
	}
	}

}