port from perforce
This commit is contained in:
29
evoke-64k/ev10/cfg/vsfsquad.txt
Normal file
29
evoke-64k/ev10/cfg/vsfsquad.txt
Normal file
@@ -0,0 +1,29 @@
|
||||
float4x4 matWVP : register(c0);
|
||||
float4 res : register(c5);
|
||||
float3 viewPos : register(c4);
|
||||
float3 lightDir : register(c6);
|
||||
float3x3 viewMatrixRotInv : register(c7);
|
||||
float4 projScaleOffsetInv : register(c11);
|
||||
|
||||
struct vsOut
|
||||
{
|
||||
float4 p : POSITION;
|
||||
float2 t : TEXCOORD0;
|
||||
float3 e : TEXCOORD1;
|
||||
float2 l : TEXCOORD2;
|
||||
};
|
||||
|
||||
vsOut vs_main(float4 p : POSITION)
|
||||
{
|
||||
vsOut o = { p, p.xy, p.xyw, (float2)0.f };
|
||||
o.p.xy += float2(-1.f, 1.f) * res.zw;
|
||||
o.t = o.t * float2(.5f, -.5f) + .5f;
|
||||
o.e.xy = o.e.xy * projScaleOffsetInv.xy + projScaleOffsetInv.zw;
|
||||
o.e = mul(o.e, viewMatrixRotInv);
|
||||
o.e.xy += float2(-1.f, 1.f) * res.zw;
|
||||
// Compute light position
|
||||
float4 lightPos = mul( float4(viewPos - lightDir, 1.0f), matWVP );
|
||||
o.l = clamp( lightPos.xy / abs(lightPos.w), -1.f, 1.f );
|
||||
o.l = o.l * float2(.5f, -.5f) + .5f;
|
||||
return o;
|
||||
};
|
||||
Reference in New Issue
Block a user