//Structs
struct appdata
{
	float4 vertex : POSITION;
	float3 normal : NORMAL;
	float4 tangent : TANGENT;
	float4 color : COLOR;
	float2 uv0 : TEXCOORD0;
	float2 uv1 : TEXCOORD1;
	float2 uv2 : TEXCOORD2;
	float2 uv3 : TEXCOORD3;
	uint vertexId : SV_VertexID;
	UNITY_VERTEX_INPUT_INSTANCE_ID
};

struct v2f
{
	float4 pos : SV_POSITION;
	float2 uv[4] : TEXCOORD0;
	float3 objNormal : TEXCOORD4;
	float3 normal : TEXCOORD5;
	float3 tangent : TEXCOORD6;
	float3 binormal : TEXCOORD7;
	float4 worldPos : TEXCOORD8;
	float4 localPos : TEXCOORD9;
	float3 objectPos : TEXCOORD10;
	float4 vertexColor : TEXCOORD11;
	float4 lightmapUV : TEXCOORD12;
	float4 grabPos: TEXCOORD13;
	float4 worldDirection: TEXCOORD14;
	UNITY_SHADOW_COORDS(15)
	UNITY_FOG_COORDS(16)
	UNITY_VERTEX_INPUT_INSTANCE_ID
	UNITY_VERTEX_OUTPUT_STEREO
};
