61 lines
989 B
HLSL
61 lines
989 B
HLSL
struct appdata
|
|
{
|
|
float4 vertex : POSITION;
|
|
};
|
|
|
|
struct v2f
|
|
{
|
|
float4 vertex : SV_POSITION;
|
|
float3 vCamPos : TEXCOORD1;
|
|
float3 vHitPos : TEXCOORD2;
|
|
};
|
|
|
|
struct fragOut
|
|
{
|
|
fixed4 col : SV_Target;
|
|
// float depth : SV_Depth;
|
|
};
|
|
|
|
v2f vert (appdata v)
|
|
{
|
|
v2f o;
|
|
o.vertex = UnityObjectToClipPos(v.vertex);
|
|
#ifdef USE_WORLD_SPACE
|
|
o.vCamPos = _WorldSpaceCameraPos;
|
|
o.vHitPos = mul(unity_ObjectToWorld, v.vertex);
|
|
#else
|
|
o.vCamPos = mul(unity_WorldToObject, float4(_WorldSpaceCameraPos, 1));
|
|
o.vHitPos = v.vertex;
|
|
#endif
|
|
return o;
|
|
}
|
|
|
|
fragOut frag (v2f i)
|
|
{
|
|
fragOut o;
|
|
o.col = 1;
|
|
o.col.r = 0;
|
|
return o;
|
|
}
|
|
|
|
// #define SOME_MAGIC(main_fn) float3 main1()\
|
|
// main_fn \
|
|
|
|
#define SOME_MAGIC(PASS, function_definition) float3 main##PASS() function_definition
|
|
|
|
#define DO_MAGIC MAIN_FN(1)
|
|
|
|
// #define SECOND_PASS 1
|
|
// #define AA MAIN_FN
|
|
// #define BB MAIN_FN
|
|
|
|
|
|
// float3 main2() \
|
|
// main_fn
|
|
|
|
// \
|
|
// float3 main2() \
|
|
// main_fn\
|
|
|
|
|
|
// #define SECOND_PASS \
|