fix matrices more properly
This commit is contained in:
parent
5d0146e17a
commit
b9841ed6a8
|
@ -1,9 +1,6 @@
|
|||
#version 450
|
||||
|
||||
layout(set=0,binding=0) uniform UBO {
|
||||
mat4 worldview;
|
||||
mat4 projection;
|
||||
mat4 vkfixup;
|
||||
mat4 mvp;
|
||||
} ubo;
|
||||
|
||||
|
@ -13,5 +10,5 @@ layout(location=0) out vec3 vPos;
|
|||
|
||||
void main() {
|
||||
vPos = aPos.xyz;
|
||||
gl_Position = transpose(ubo.vkfixup) * transpose(ubo.mvp) * vec4(aPos.xyz, 1.);
|
||||
gl_Position = ubo.mvp * vec4(aPos.xyz, 1.);
|
||||
}
|
||||
|
|
|
@ -34,9 +34,6 @@ static struct {
|
|||
} gmap;
|
||||
|
||||
typedef struct {
|
||||
matrix4x4 worldview;
|
||||
matrix4x4 projection;
|
||||
matrix4x4 vkfixup;
|
||||
matrix4x4 mvp;
|
||||
} uniform_data_t;
|
||||
|
||||
|
@ -275,8 +272,7 @@ void VK_MapRender( void )
|
|||
{
|
||||
{
|
||||
uniform_data_t *ubo = gmap.uniform_buffer.mapped;
|
||||
matrix4x4 worldview={0}, projection={0}, mvp={0}, tmp={0};
|
||||
//uniform_data_t uniform_data = {0};
|
||||
matrix4x4 worldview={0}, projection={0}, mvp={0}, viewproj={0};
|
||||
|
||||
// Vulkan has Y pointing down, and z should end up in (0, 1)
|
||||
const matrix4x4 vk_proj_fixup = {
|
||||
|
@ -288,18 +284,10 @@ void VK_MapRender( void )
|
|||
|
||||
R_SetupModelviewMatrix( worldview );
|
||||
R_SetupProjectionMatrix( projection );
|
||||
memcpy(&ubo->worldview, worldview, sizeof(matrix4x4));
|
||||
memcpy(&ubo->projection, projection, sizeof(matrix4x4));
|
||||
Matrix4x4_Concat( mvp, projection, worldview);
|
||||
memcpy(&ubo->mvp, mvp, sizeof(matrix4x4));
|
||||
memcpy(&ubo->vkfixup, vk_proj_fixup, sizeof(matrix4x4));
|
||||
|
||||
//Matrix4x4_Concat( mvp, projection, worldview);
|
||||
//Matrix4x4_Concat( mvp, tmp, worldview );
|
||||
//Matrix4x4_Concat( tmp, vk_proj_fixup, mvp);
|
||||
//memcpy(gmap.uniform_buffer.mapped, tmp, sizeof(tmp));
|
||||
//memcpy(gmap.uniform_buffer.mapped, mvp, sizeof(tmp));
|
||||
//memcpy(gmap.uniform_buffer.mapped, tmp, sizeof(tmp));
|
||||
Matrix4x4_Concat( viewproj, projection, worldview);
|
||||
Matrix4x4_Concat( mvp, vk_proj_fixup, viewproj );
|
||||
Matrix4x4_ToArrayFloatGL( mvp, (float*)ubo->mvp );
|
||||
|
||||
/*
|
||||
vkCmdUpdateBuffer(vk_core.cb, gmap.uniform_buffer.buffer, 0, sizeof(uniform_data), &uniform_data);
|
||||
|
|
Loading…
Reference in New Issue