From 7dd04c66d25dc48d638db340bba43998dc43bea8 Mon Sep 17 00:00:00 2001 From: Tobias Frisch <tfrisch@uni-koblenz.de> Date: Tue, 29 Nov 2022 14:16:11 +0100 Subject: [PATCH] Correct camera in rt project Signed-off-by: Tobias Frisch <tfrisch@uni-koblenz.de> --- projects/rt_ambient_occlusion/src/main.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/projects/rt_ambient_occlusion/src/main.cpp b/projects/rt_ambient_occlusion/src/main.cpp index c5472e9f..ce6c89a3 100644 --- a/projects/rt_ambient_occlusion/src/main.cpp +++ b/projects/rt_ambient_occlusion/src/main.cpp @@ -143,15 +143,13 @@ int main(int argc, const char** argv) { const std::vector<vkcv::ImageHandle> renderTargets = { swapchainInput, depthBuffer }; - RaytracingPushConstantData raytracingPushData; - raytracingPushData.camera_position = glm::vec4(cameraManager.getActiveCamera().getPosition(),0); - raytracingPushData.camera_right = glm::vec4(glm::cross(cameraManager.getActiveCamera().getUp(), cameraManager.getActiveCamera().getFront()), 0); - raytracingPushData.camera_up = glm::vec4(cameraManager.getActiveCamera().getUp(),0); - raytracingPushData.camera_forward = glm::vec4(cameraManager.getActiveCamera().getFront(),0); + const glm::mat4 view = glm::transpose(cameraManager.getActiveCamera().getView()); - raytracingPushData.camera_right = glm::normalize(raytracingPushData.camera_right); - raytracingPushData.camera_up = glm::normalize(raytracingPushData.camera_up); - raytracingPushData.camera_forward = glm::normalize(raytracingPushData.camera_forward); + RaytracingPushConstantData raytracingPushData; + raytracingPushData.camera_position = glm::vec4(cameraManager.getActiveCamera().getPosition(), 0); + raytracingPushData.camera_right = glm::vec4(glm::vec3(view[0]), 0); + raytracingPushData.camera_up = glm::vec4(glm::vec3(view[1]), 0); + raytracingPushData.camera_forward = glm::vec4(glm::vec3(view[2]), 0); vkcv::PushConstants pushConstants = vkcv::pushConstants<RaytracingPushConstantData>(); pushConstants.appendDrawcall(raytracingPushData); -- GitLab