summary refs log tree commit diff
path: root/misc/xbox/vs_textured.vs.cg
blob: 2e3b39b9058f5ce36f127af43c77346a74a5a06c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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;
}