62 lines
989 B
HLSL
62 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 \
|