mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-01-23 01:21:57 -05:00
36 lines
796 B
Text
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;
|
|
}
|