ClassiCube/misc/xbox/vs_textured.vs.cg
2024-04-26 07:51:18 +10:00

36 lines
796 B
Text

struct vIn {
float4 tex : TEXCOORD;
float4 color : DIFFUSE;
float4 position : POSITION;
};
struct vOut {
float4 pos : POSITION;
float4 col : COLOR;
float4 tex : TEXCOORD0;
};
vOut main(
vIn input,
uniform float4x4 mvp,
uniform float4 vp_scale,
uniform float4 vp_offset
)
{
vOut result;
float4 position;
position = float4(input.position.xyz, 1.0f);
position = mul(position, mvp);
position.xyz = position.xyz / position.w;
position.x = position.x * vp_scale.x + vp_offset.x;
position.y = position.y * vp_scale.y + vp_offset.y;
position.z = position.z * vp_scale.z + vp_offset.z;
//position.w = 1.0 / half_viewport.w;
result.pos = position;
result.col = input.color;
result.tex = input.tex;
return result;
}