1
Fork 0
mirror of https://github.com/redstrate/Novus.git synced 2025-04-25 13:17:46 +00:00

Implement more of g_CameraParameter

This commit is contained in:
Joshua Goins 2024-04-21 13:29:30 -04:00
parent ec47e52f80
commit eb9e5dc094
2 changed files with 14 additions and 14 deletions

View file

@ -85,15 +85,15 @@ private:
// Structure definitions from https://github.com/Shaderlayan/Ouroboros
struct CameraParameter {
/* m[0] - m[2] */ glm::mat3x4 m_ViewMatrix; // TODO: does it need alignment?
/* m[3] - m[5] */ glm::mat3x4 m_InverseViewMatrix;
/* m[6] - m[9] */ glm::mat4 m_InverseViewProjectionMatrix;
glm::mat4 m_InverseProjectionMatrix;
glm::mat4 m_ProjectionMatrix;
glm::mat3x4 m_ViewMatrix; // TODO: does it need alignment?
glm::mat3x4 m_InverseViewMatrix;
glm::mat4 m_ViewProjectionMatrix;
/*glm::mat4 m_MainViewToProjectionMatrix;
glm::mat4 m_InverseViewProjectionMatrix;
glm::mat4 m_InverseProjectionMatrix;
glm::mat4 m_ProjectionMatrix; // FIXME: ourburos is wrong, this is actually viewProjection
glm::mat4 m_MainViewToProjectionMatrix;
glm::vec3 m_EyePosition;
glm::vec3 m_LookAtVector;*/
glm::vec3 m_LookAtVector;
};
UniformBuffer g_CameraParameter;

View file

@ -168,15 +168,15 @@ void RenderSystem::render(uint32_t imageIndex, VkCommandBuffer commandBuffer)
glm::mat4 viewMatrix = m_renderer.view;
glm::mat4 viewProjectionMatrix = projectionMatrix * viewMatrix;
cameraParameter.m_ViewMatrix = viewMatrix;
cameraParameter.m_InverseViewMatrix = glm::inverse(viewMatrix);
cameraParameter.m_ViewMatrix = glm::transpose(viewMatrix);
cameraParameter.m_InverseViewMatrix = glm::transpose(glm::inverse(viewMatrix));
cameraParameter.m_ViewProjectionMatrix = glm::transpose(viewProjectionMatrix);
cameraParameter.m_InverseViewProjectionMatrix = glm::inverse(viewProjectionMatrix);
cameraParameter.m_InverseProjectionMatrix = glm::inverse(projectionMatrix);
cameraParameter.m_ProjectionMatrix = projectionMatrix;
/*cameraParameter.m_MainViewToProjectionMatrix = glm::mat4(1.0f); // ???
cameraParameter.m_InverseViewProjectionMatrix = glm::transpose(glm::inverse(viewProjectionMatrix));
cameraParameter.m_InverseProjectionMatrix = glm::transpose(glm::inverse(projectionMatrix));
cameraParameter.m_ProjectionMatrix = cameraParameter.m_ViewProjectionMatrix;
cameraParameter.m_MainViewToProjectionMatrix = cameraParameter.m_InverseViewProjectionMatrix;
cameraParameter.m_EyePosition = glm::vec3(5.0f); // placeholder
cameraParameter.m_LookAtVector = glm::vec3(0.0f); // placeholder*/
cameraParameter.m_LookAtVector = glm::vec3(0.0f); // placeholder
copyDataToUniform(g_CameraParameter, &cameraParameter, sizeof(CameraParameter));