blob: f006be4362a64ea04a3ae43851e0a16f673d556a (
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
|
struct vIn {
float4 color : DIFFUSE;
float4 position : POSITION;
};
struct vOut {
float4 col : COLOR;
float4 pos : POSITION;
};
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;
return result;
}
|