From ee3aa3556728de9871aa86c95ac2ba8dbb6bcb99 Mon Sep 17 00:00:00 2001 From: hoenking Date: Mon, 15 Dec 2025 20:37:01 +0800 Subject: [PATCH] 13.Projection Matrices --- VulkanTest | Bin 608840 -> 607656 bytes first_app.cpp | 10 ++++++++-- hk_camera.cpp | 27 +++++++++++++++++++++++++++ hk_camera.hpp | 24 ++++++++++++++++++++++++ hk_renderer.hpp | 1 + simple_render_system.cpp | 4 ++-- simple_render_system.hpp | 3 ++- 7 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 hk_camera.cpp create mode 100644 hk_camera.hpp diff --git a/VulkanTest b/VulkanTest index 5fc6210fd0fe162604f210c467b2d393b7796779..a0bf688899b5e8b9d9e03a0db43f56570e20efd2 100755 GIT binary patch delta 117616 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 HT^e=(dscOo diff --git a/first_app.cpp b/first_app.cpp index b9e4b06..e0a6014 100644 --- a/first_app.cpp +++ b/first_app.cpp @@ -1,6 +1,7 @@ #include "first_app.hpp" #include "simple_render_system.hpp" #include "rainbow_system.hpp" +#include "hk_camera.hpp" // libs #define GLM_FORCE_RADIANS @@ -28,6 +29,8 @@ namespace hk { SimpleRenderSystem simpleRenderSystem{m_device, m_renderer.getSwapChainRenderPass()}; RainbowSystem rainbowSystem(2000.0f); + Camera camera{}; + while (!m_window.shouldClose()) { @@ -36,10 +39,13 @@ namespace hk // update objects color rainbowSystem.update(5.0f, m_gameObjects); + float aspect = m_renderer.getAspectRatio(); + //camera.setOrthographicProjection(-aspect, aspect, -1, 1, -1, 1); + camera.setPerspectiveProjection(glm::radians(50.f), aspect, 0.1f, 10.f); if (auto commandBuffer = m_renderer.beginFrame()) { m_renderer.beginSwapChainRenderPass(commandBuffer); - simpleRenderSystem.renderGameObjects(commandBuffer, m_gameObjects); + simpleRenderSystem.renderGameObjects(commandBuffer, m_gameObjects, camera); m_renderer.endSwapChainRenderPass(commandBuffer); m_renderer.endFrame(); } @@ -114,7 +120,7 @@ namespace hk std::shared_ptr cubeModel = createCubeModel(m_device, {0.f, 0.f, 0.f}); auto cube = GameObject::createGameObject(); cube.m_model = cubeModel; - cube.m_transform.translation = {0.f, 0.f, .5f}; + cube.m_transform.translation = {0.f, 0.f, 2.5f}; cube.m_transform.scale = {.5f, .5f, .5f}; m_gameObjects.push_back(std::move(cube)); } diff --git a/hk_camera.cpp b/hk_camera.cpp new file mode 100644 index 0000000..f6fce96 --- /dev/null +++ b/hk_camera.cpp @@ -0,0 +1,27 @@ +#include "hk_camera.hpp" + +namespace hk +{ + void Camera::setOrthographicProjection(float left, float right, float top, float bottom, float near, float far) + { + m_projectionMatrix = glm::mat4{1.0f}; + m_projectionMatrix[0][0] = 2.f / (right - left); + m_projectionMatrix[1][1] = 2.f / (bottom - top); + m_projectionMatrix[2][2] = 1.f / (far - near); + m_projectionMatrix[3][0] = -(right + left) / (right - left); + m_projectionMatrix[3][1] = -(bottom + top) / (bottom - top); + m_projectionMatrix[3][2] = -near / (far - near); + } + + void Camera::setPerspectiveProjection(float fovY, float aspect, float near, float far) + { + assert(glm::abs(aspect - std::numeric_limits::epsilon()) > 0.0f); + const float tanHalfFovy = tan(fovY / 2.f); + m_projectionMatrix = glm::mat4{0.0f}; + m_projectionMatrix[0][0] = 1.f / (aspect * tanHalfFovy); + m_projectionMatrix[1][1] = 1.f / (tanHalfFovy); + m_projectionMatrix[2][2] = far / (far - near); + m_projectionMatrix[2][3] = 1.f; + m_projectionMatrix[3][2] = -(far * near) / (far - near); + } +} // namespace hk \ No newline at end of file diff --git a/hk_camera.hpp b/hk_camera.hpp new file mode 100644 index 0000000..6750192 --- /dev/null +++ b/hk_camera.hpp @@ -0,0 +1,24 @@ +#pragma once + +// libs +#define GLM_FORCE_RADIANS +#define GLM_FORCE_DEPTH_ZERO_TO_ONE +#include + +namespace hk +{ + class Camera + { + public: + Camera() = default; + ~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); + + const glm::mat4& getProjection() const { return m_projectionMatrix; } + private: + glm::mat4 m_projectionMatrix{1.0f}; + }; +} // namespace hk \ No newline at end of file diff --git a/hk_renderer.hpp b/hk_renderer.hpp index a1ecfcc..b93efb2 100644 --- a/hk_renderer.hpp +++ b/hk_renderer.hpp @@ -22,6 +22,7 @@ namespace hk Renderer &operator=(const Renderer &) = delete; VkRenderPass getSwapChainRenderPass() const { return m_swapChain->getRenderPass(); } + float getAspectRatio() const { return m_swapChain->extentAspectRatio(); } bool isFrameInProgress() const {return m_isFrameStarted;} VkCommandBuffer getCurrentCommandBuffer() const { assert(m_isFrameStarted && "Cannot get command buffer when frame not in progress"); diff --git a/simple_render_system.cpp b/simple_render_system.cpp index 1e127b9..46a153c 100644 --- a/simple_render_system.cpp +++ b/simple_render_system.cpp @@ -66,7 +66,7 @@ namespace hk pipelineConfig); } - void SimpleRenderSystem::renderGameObjects(VkCommandBuffer commandBuffer, std::vector &gameObjects) + void SimpleRenderSystem::renderGameObjects(VkCommandBuffer commandBuffer, std::vector &gameObjects, const Camera &camera) { m_pipeline->bind(commandBuffer); for (auto &obj : gameObjects) @@ -76,7 +76,7 @@ namespace hk SimplePushConstantData push{}; push.color = obj.m_color; - push.transform = obj.m_transform.mat4(); + push.transform = camera.getProjection() * obj.m_transform.mat4(); vkCmdPushConstants( commandBuffer, diff --git a/simple_render_system.hpp b/simple_render_system.hpp index 2f09343..eed5d97 100644 --- a/simple_render_system.hpp +++ b/simple_render_system.hpp @@ -1,5 +1,6 @@ #pragma once +#include "hk_camera.hpp" #include "hk_device.hpp" #include "hk_game_object.hpp" #include "hk_pipeline.hpp" @@ -20,7 +21,7 @@ namespace hk SimpleRenderSystem(const SimpleRenderSystem &) = delete; SimpleRenderSystem &operator=(const SimpleRenderSystem &) = delete; - void renderGameObjects(VkCommandBuffer commandBuffer, std::vector &gameObjects); + void renderGameObjects(VkCommandBuffer commandBuffer, std::vector &gameObjects, const Camera &camera); private: void createPipelineLayout();