mirror of
https://github.com/redstrate/Novus.git
synced 2025-04-26 05:37:46 +00:00
Implement more of g_CameraParameter
This commit is contained in:
parent
ec47e52f80
commit
eb9e5dc094
2 changed files with 14 additions and 14 deletions
|
@ -85,15 +85,15 @@ private:
|
||||||
|
|
||||||
// Structure definitions from https://github.com/Shaderlayan/Ouroboros
|
// Structure definitions from https://github.com/Shaderlayan/Ouroboros
|
||||||
struct CameraParameter {
|
struct CameraParameter {
|
||||||
/* m[0] - m[2] */ glm::mat3x4 m_ViewMatrix; // TODO: does it need alignment?
|
glm::mat3x4 m_ViewMatrix; // TODO: does it need alignment?
|
||||||
/* m[3] - m[5] */ glm::mat3x4 m_InverseViewMatrix;
|
glm::mat3x4 m_InverseViewMatrix;
|
||||||
/* m[6] - m[9] */ glm::mat4 m_InverseViewProjectionMatrix;
|
|
||||||
glm::mat4 m_InverseProjectionMatrix;
|
|
||||||
glm::mat4 m_ProjectionMatrix;
|
|
||||||
glm::mat4 m_ViewProjectionMatrix;
|
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_EyePosition;
|
||||||
glm::vec3 m_LookAtVector;*/
|
glm::vec3 m_LookAtVector;
|
||||||
};
|
};
|
||||||
|
|
||||||
UniformBuffer g_CameraParameter;
|
UniformBuffer g_CameraParameter;
|
||||||
|
|
|
@ -168,15 +168,15 @@ void RenderSystem::render(uint32_t imageIndex, VkCommandBuffer commandBuffer)
|
||||||
glm::mat4 viewMatrix = m_renderer.view;
|
glm::mat4 viewMatrix = m_renderer.view;
|
||||||
glm::mat4 viewProjectionMatrix = projectionMatrix * viewMatrix;
|
glm::mat4 viewProjectionMatrix = projectionMatrix * viewMatrix;
|
||||||
|
|
||||||
cameraParameter.m_ViewMatrix = viewMatrix;
|
cameraParameter.m_ViewMatrix = glm::transpose(viewMatrix);
|
||||||
cameraParameter.m_InverseViewMatrix = glm::inverse(viewMatrix);
|
cameraParameter.m_InverseViewMatrix = glm::transpose(glm::inverse(viewMatrix));
|
||||||
cameraParameter.m_ViewProjectionMatrix = glm::transpose(viewProjectionMatrix);
|
cameraParameter.m_ViewProjectionMatrix = glm::transpose(viewProjectionMatrix);
|
||||||
cameraParameter.m_InverseViewProjectionMatrix = glm::inverse(viewProjectionMatrix);
|
cameraParameter.m_InverseViewProjectionMatrix = glm::transpose(glm::inverse(viewProjectionMatrix));
|
||||||
cameraParameter.m_InverseProjectionMatrix = glm::inverse(projectionMatrix);
|
cameraParameter.m_InverseProjectionMatrix = glm::transpose(glm::inverse(projectionMatrix));
|
||||||
cameraParameter.m_ProjectionMatrix = projectionMatrix;
|
cameraParameter.m_ProjectionMatrix = cameraParameter.m_ViewProjectionMatrix;
|
||||||
/*cameraParameter.m_MainViewToProjectionMatrix = glm::mat4(1.0f); // ???
|
cameraParameter.m_MainViewToProjectionMatrix = cameraParameter.m_InverseViewProjectionMatrix;
|
||||||
cameraParameter.m_EyePosition = glm::vec3(5.0f); // placeholder
|
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));
|
copyDataToUniform(g_CameraParameter, &cameraParameter, sizeof(CameraParameter));
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue