114 lines
2.8 KiB
Plaintext
114 lines
2.8 KiB
Plaintext
void StdQuad_vp
|
|
(
|
|
in float4 inPos : POSITION,
|
|
|
|
out float4 pos : POSITION,
|
|
out float2 uv0 : TEXCOORD0,
|
|
|
|
uniform float4x4 worldViewProj
|
|
)
|
|
{
|
|
// Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
|
|
pos = mul(worldViewProj, inPos);
|
|
|
|
// The input positions adjusted by texel offsets, so clean up inaccuracies
|
|
inPos.xy = sign(inPos.xy);
|
|
|
|
// Convert to image-space
|
|
uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
|
|
}
|
|
|
|
void StdQuad_Tex2_vp
|
|
(
|
|
in float4 inPos : POSITION,
|
|
|
|
out float4 pos : POSITION,
|
|
out float2 uv0 : TEXCOORD0,
|
|
out float2 uv1 : TEXCOORD1,
|
|
|
|
uniform float4x4 worldViewProj
|
|
)
|
|
{
|
|
// Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
|
|
pos = mul(worldViewProj, inPos);
|
|
|
|
// The input positions adjusted by texel offsets, so clean up inaccuracies
|
|
inPos.xy = sign(inPos.xy);
|
|
|
|
// Convert to image-space
|
|
uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
|
|
uv1 = uv0;
|
|
}
|
|
|
|
void StdQuad_Tex2a_vp
|
|
(
|
|
in float4 inPos : POSITION,
|
|
|
|
out float4 pos : POSITION,
|
|
out float2 uv0 : TEXCOORD0,
|
|
out float2 uv1 : TEXCOORD1,
|
|
|
|
uniform float4x4 worldViewProj
|
|
)
|
|
{
|
|
// Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
|
|
pos = mul(worldViewProj, inPos);
|
|
|
|
// The input positions adjusted by texel offsets, so clean up inaccuracies
|
|
inPos.xy = sign(inPos.xy);
|
|
|
|
// Convert to image-space
|
|
uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
|
|
uv1 = inPos.xy;
|
|
}
|
|
|
|
void StdQuad_Tex3_vp
|
|
(
|
|
in float4 inPos : POSITION,
|
|
|
|
out float4 pos : POSITION,
|
|
out float2 uv0 : TEXCOORD0,
|
|
out float2 uv1 : TEXCOORD1,
|
|
out float2 uv2 : TEXCOORD2,
|
|
|
|
uniform float4x4 worldViewProj
|
|
)
|
|
{
|
|
// Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
|
|
pos = mul(worldViewProj, inPos);
|
|
|
|
// The input positions adjusted by texel offsets, so clean up inaccuracies
|
|
inPos.xy = sign(inPos.xy);
|
|
|
|
// Convert to image-space
|
|
uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
|
|
uv1 = uv0;
|
|
uv2 = uv0;
|
|
}
|
|
|
|
void StdQuad_Tex4_vp
|
|
(
|
|
in float4 inPos : POSITION,
|
|
|
|
out float4 pos : POSITION,
|
|
out float2 uv0 : TEXCOORD0,
|
|
out float2 uv1 : TEXCOORD1,
|
|
out float2 uv2 : TEXCOORD2,
|
|
out float2 uv3 : TEXCOORD3,
|
|
|
|
uniform float4x4 worldViewProj
|
|
)
|
|
{
|
|
// Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
|
|
pos = mul(worldViewProj, inPos);
|
|
|
|
// The input positions adjusted by texel offsets, so clean up inaccuracies
|
|
inPos.xy = sign(inPos.xy);
|
|
|
|
// Convert to image-space
|
|
uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
|
|
uv1 = uv0;
|
|
uv2 = uv0;
|
|
uv3 = uv0;
|
|
}
|