From 2e7056c246b558a17193743a3c25c0dadd02167b Mon Sep 17 00:00:00 2001 From: hoenking Date: Mon, 15 Dec 2025 22:26:53 +0800 Subject: [PATCH] 14.Camera (View) Transform --- VulkanTest | Bin 607656 -> 610488 bytes first_app.cpp | 3 ++- first_app.hpp | 1 - hk_camera.cpp | 50 +++++++++++++++++++++++++++++++++++++++ hk_camera.hpp | 7 +++++- simple_render_system.cpp | 5 +++- 6 files changed, 62 insertions(+), 4 deletions(-) diff --git a/VulkanTest b/VulkanTest index a0bf688899b5e8b9d9e03a0db43f56570e20efd2..a6d84c4d277e20a73c2166cf36842f6021a94cf3 100755 GIT binary patch delta 97304 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 J+s4On{tp#=wzL2M delta 92568 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 Wx*?Df+Z1}r%=-R1&#y=08UF{TbF>ry diff --git a/first_app.cpp b/first_app.cpp index e0a6014..15bc658 100644 --- a/first_app.cpp +++ b/first_app.cpp @@ -30,7 +30,8 @@ namespace hk SimpleRenderSystem simpleRenderSystem{m_device, m_renderer.getSwapChainRenderPass()}; RainbowSystem rainbowSystem(2000.0f); Camera camera{}; - + //camera.setViewDirection(glm::vec3(0.f), glm::vec3(0.5f, 0.f, 1.f)); + camera.setViewTarget(glm::vec3(-1.f, -2.f, -2.f), glm::vec3(0.f, 0.f, 2.5f)); while (!m_window.shouldClose()) { diff --git a/first_app.hpp b/first_app.hpp index 31dc085..fd85798 100644 --- a/first_app.hpp +++ b/first_app.hpp @@ -24,7 +24,6 @@ namespace hk FirstApp &operator=(const FirstApp &) = delete; void run(); - void runGravitySystem(); private: void loadGameObjects(); diff --git a/hk_camera.cpp b/hk_camera.cpp index f6fce96..7d6191e 100644 --- a/hk_camera.cpp +++ b/hk_camera.cpp @@ -24,4 +24,54 @@ namespace hk m_projectionMatrix[2][3] = 1.f; m_projectionMatrix[3][2] = -(far * near) / (far - near); } + void Camera::setViewDirection(glm::vec3 position, glm::vec3 direction, glm::vec3 up) + { + const glm::vec3 w = glm::normalize(direction); + const glm::vec3 u = glm::normalize(glm::cross(w, up)); + const glm::vec3 v = glm::cross(w, u); + + m_viewMatrix = glm::mat4{1.0f}; + m_viewMatrix[0][0] = u.x; + m_viewMatrix[1][0] = u.y; + m_viewMatrix[2][0] = u.z; + m_viewMatrix[0][1] = v.x; + m_viewMatrix[1][1] = v.y; + m_viewMatrix[2][1] = v.z; + m_viewMatrix[0][2] = w.x; + m_viewMatrix[1][2] = w.y; + m_viewMatrix[2][2] = w.z; + m_viewMatrix[3][0] = -glm::dot(u, position); + m_viewMatrix[3][1] = -glm::dot(v, position); + m_viewMatrix[3][2] = -glm::dot(w, position); + } + void Camera::setViewTarget(glm::vec3 position, glm::vec3 target, glm::vec3 up) + { + setViewDirection(position, target - position, up); + } + void Camera::setViewYXZ(glm::vec3 position, glm::vec3 rotation) + { + const float c3 = glm::cos(rotation.z); + const float s3 = glm::sin(rotation.z); + const float c2 = glm::cos(rotation.x); + const float s2 = glm::sin(rotation.x); + const float c1 = glm::cos(rotation.y); + const float s1 = glm::sin(rotation.y); + const glm::vec3 u{(c1 * c3 + s1 * s2 * s3), (c2 * s3), (c1 * s2 * s3 - c3 * s1)}; + const glm::vec3 v{(c3 * s1 * s2 - c1 * s3), (c2 * c3), (c1 * c3 * s2 + s1 * s3)}; + const glm::vec3 w{(c2 * s1), (-s2), (c1 * c2)}; + + m_viewMatrix = glm::mat4{1.0f}; + m_viewMatrix[0][0] = u.x; + m_viewMatrix[1][0] = u.y; + m_viewMatrix[2][0] = u.z; + m_viewMatrix[0][1] = v.x; + m_viewMatrix[1][1] = v.y; + m_viewMatrix[2][1] = v.z; + m_viewMatrix[0][2] = w.x; + m_viewMatrix[1][2] = w.y; + m_viewMatrix[2][2] = w.z; + m_viewMatrix[3][0] = -glm::dot(u, position); + m_viewMatrix[3][1] = -glm::dot(v, position); + m_viewMatrix[3][2] = -glm::dot(w, position); + } } // namespace hk \ No newline at end of file diff --git a/hk_camera.hpp b/hk_camera.hpp index 6750192..c9395e5 100644 --- a/hk_camera.hpp +++ b/hk_camera.hpp @@ -14,11 +14,16 @@ namespace hk ~Camera() = default; void setOrthographicProjection(float left, float right, float top, float bottom, float near, float far); - void setPerspectiveProjection(float fovY, float aspect, float near, float far); + void setViewDirection(glm::vec3 position, glm::vec3 direction, glm::vec3 up = glm::vec3{0.f, -1.f, 0.f}); + void setViewTarget(glm::vec3 position, glm::vec3 target, glm::vec3 up = glm::vec3{0.f, -1.f, 0.f}); + void setViewYXZ(glm::vec3 position, glm::vec3 rotation); + const glm::mat4& getProjection() const { return m_projectionMatrix; } + const glm::mat4& getView() const { return m_viewMatrix; } private: glm::mat4 m_projectionMatrix{1.0f}; + glm::mat4 m_viewMatrix{1.0f}; }; } // namespace hk \ No newline at end of file diff --git a/simple_render_system.cpp b/simple_render_system.cpp index 46a153c..166339f 100644 --- a/simple_render_system.cpp +++ b/simple_render_system.cpp @@ -69,6 +69,9 @@ namespace hk void SimpleRenderSystem::renderGameObjects(VkCommandBuffer commandBuffer, std::vector &gameObjects, const Camera &camera) { m_pipeline->bind(commandBuffer); + + auto projectionView = camera.getProjection() * camera.getView(); + for (auto &obj : gameObjects) { obj.m_transform.rotation.y = glm::mod(obj.m_transform.rotation.y + 0.01f, glm::two_pi()); @@ -76,7 +79,7 @@ namespace hk SimplePushConstantData push{}; push.color = obj.m_color; - push.transform = camera.getProjection() * obj.m_transform.mat4(); + push.transform = projectionView * obj.m_transform.mat4(); vkCmdPushConstants( commandBuffer,