From 69efacc68151aede1b8383f26e91f60f0304a136 Mon Sep 17 00:00:00 2001 From: hoenking Date: Sun, 14 Dec 2025 16:29:58 +0800 Subject: [PATCH] 12.Euler Angles & Homogeneous Coordinates --- .vscode/c_cpp_properties.json | 14 ++++ Makefile | 1 + VulkanTest | Bin 621016 -> 608840 bytes first_app.cpp | 147 +++++++++++++++------------------ gravity_physics_system.hpp | 129 ----------------------------- hk_game_object.hpp | 56 +++++++++---- hk_model.cpp | 4 +- hk_model.hpp | 2 +- main.cpp | 6 -- shaders/simple_shader.frag | 6 +- shaders/simple_shader.frag.spv | Bin 856 -> 800 bytes shaders/simple_shader.vert | 10 ++- shaders/simple_shader.vert.spv | Bin 1412 -> 1352 bytes simple_render_system.cpp | 9 +- 14 files changed, 136 insertions(+), 248 deletions(-) delete mode 100644 gravity_physics_system.hpp diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json index cd3d381..8b8ad22 100644 --- a/.vscode/c_cpp_properties.json +++ b/.vscode/c_cpp_properties.json @@ -11,6 +11,20 @@ "cppStandard": "gnu++17", "intelliSenseMode": "linux-gcc-x64", "configurationProvider": "ms-vscode.makefile-tools" + }, + { + "name": "Mac", + "includePath": [ + "${workspaceFolder}/**", + "/Users/wanghao/VulkanSDK/1.4.328.1/macOS/include", + "/opt/local/include", + "/usr/local/include" + ], + "defines": [], + "compilerPath": "/usr/bin/clang++", + "cStandard": "c17", + "cppStandard": "c++17", + "intelliSenseMode": "macos-clang-arm64" } ], "version": 4 diff --git a/Makefile b/Makefile index 5d1825f..259c901 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,5 @@ VULKAN_SDK_PATH = /Users/wanghao/VulkanSDK/1.4.328.1/macOS +GLSLC = $(VULKAN_SDK_PATH)/bin/glslc CFLAGS = -std=c++17 -o2 -I. -I$(VULKAN_SDK_PATH)/include -I/opt/local/include LDFLAGS = -L$(VULKAN_SDK_PATH)/lib -L/opt/local/lib `pkg-config --static --libs glfw3` -lvulkan -ldl -lpthread -lX11 diff --git a/VulkanTest b/VulkanTest index e8c3f5a92dd27d94bbd79686b31304a2a1954436..5fc6210fd0fe162604f210c467b2d393b7796779 100755 GIT binary patch delta 107618 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 delta 115362 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 diff --git a/first_app.cpp b/first_app.cpp index 6519e32..b9e4b06 100644 --- a/first_app.cpp +++ b/first_app.cpp @@ -1,7 +1,6 @@ #include "first_app.hpp" #include "simple_render_system.hpp" #include "rainbow_system.hpp" -#include "gravity_physics_system.hpp" // libs #define GLM_FORCE_RADIANS @@ -25,72 +24,6 @@ namespace hk { } - void FirstApp::runGravitySystem() - { - // Gravity Physics System - // Create some Models - std::shared_ptr squareModel = createSquareModel(m_device, {.5f, .0f}); - std::shared_ptr circleModel = createCircleModel(m_device, 64); - // Create Physics Objects - std::vector physicsObjects{}; - auto red = GameObject::createGameObject(); - red.m_transform2d.scale = glm::vec2{.05f}; - red.m_transform2d.translation = {.5f, .5f}; - red.m_color = {1.f, 0.f, 0.f}; - red.m_rigidBody2d.velocity = {-.5f, .0f}; - red.m_model = circleModel; - physicsObjects.push_back(std::move(red)); - auto blue = GameObject::createGameObject(); - blue.m_transform2d.scale = glm::vec2{.05f}; - blue.m_transform2d.translation = {-.45f, -.25f}; - blue.m_color = {0.f, 0.f, 1.f}; - blue.m_rigidBody2d.velocity = {.5f, .0f}; - blue.m_model = circleModel; - physicsObjects.push_back(std::move(blue)); - - // Create Vector Field - std::vector vectorField{}; - int gridCount = 40; - for (int i = 0; i < gridCount; i++) - { - for(int j = 0; j < gridCount; j ++) - { - auto vf = GameObject::createGameObject(); - vf.m_transform2d.scale = glm::vec2{0.005f}; - vf.m_transform2d.translation = {-1.0f + (i + 0.5f) * 2.0f / gridCount, -1.0f + (j + 0.5f) * 2.0f / gridCount}; - vf.m_color = glm::vec3{1.0f}; - vf.m_model = squareModel; - vectorField.push_back(std::move(vf)); - } - } - - GravityPhysicsSystem gravitySystem(0.81f); - Vec2FieldSystem vecFieldSystem{}; - - SimpleRenderSystem simpleRenderSystem{m_device, m_renderer.getSwapChainRenderPass()}; - - while(!m_window.shouldClose()) - { - glfwPollEvents(); - - if (auto commandBuffer = m_renderer.beginFrame()) - { - // update system - gravitySystem.update(physicsObjects, 1.f / 60, 5); - vecFieldSystem.update(gravitySystem, physicsObjects, vectorField); - - // render system - m_renderer.beginSwapChainRenderPass(commandBuffer); - simpleRenderSystem.renderGameObjects(commandBuffer, physicsObjects); - simpleRenderSystem.renderGameObjects(commandBuffer, vectorField); - m_renderer.endSwapChainRenderPass(commandBuffer); - m_renderer.endFrame(); - } - - vkDeviceWaitIdle(m_device.device()); - } - } - void FirstApp::run() { SimpleRenderSystem simpleRenderSystem{m_device, m_renderer.getSwapChainRenderPass()}; @@ -115,22 +48,74 @@ namespace hk vkDeviceWaitIdle(m_device.device()); } - void FirstApp::loadGameObjects() + // temporary helper function, creates a 1x1x1 cube centered at offset + std::unique_ptr createCubeModel(hk::Device &device, glm::vec3 offset) { std::vector vertices{ - {{0.0f, -0.5f}, {1.0f, 0.0f, 0.0f}}, - {{0.5f, 0.5f}, {0.0f, 1.0f, 0.0f}}, - {{-0.5f, 0.5f}, {0.0f, 0.0f, 1.0f}} - }; - auto model = std::make_shared(m_device, vertices); - auto triangle = GameObject::createGameObject(); - triangle.m_model = model; - triangle.m_color = {.1f, .8f, .1f}; - triangle.m_transform2d.translation.x = .2f; - triangle.m_transform2d.scale = {2.0f, .5f}; - triangle.m_transform2d.rotation = .25f * glm::two_pi(); - - m_gameObjects.push_back(std::move(triangle)); + // left face (white) + {{-.5f, -.5f, -.5f}, {.9f, .9f, .9f}}, + {{-.5f, .5f, .5f}, {.9f, .9f, .9f}}, + {{-.5f, -.5f, .5f}, {.9f, .9f, .9f}}, + {{-.5f, -.5f, -.5f}, {.9f, .9f, .9f}}, + {{-.5f, .5f, -.5f}, {.9f, .9f, .9f}}, + {{-.5f, .5f, .5f}, {.9f, .9f, .9f}}, + + // right face (yellow) + {{.5f, -.5f, -.5f}, {.8f, .8f, .1f}}, + {{.5f, .5f, .5f}, {.8f, .8f, .1f}}, + {{.5f, -.5f, .5f}, {.8f, .8f, .1f}}, + {{.5f, -.5f, -.5f}, {.8f, .8f, .1f}}, + {{.5f, .5f, -.5f}, {.8f, .8f, .1f}}, + {{.5f, .5f, .5f}, {.8f, .8f, .1f}}, + + // top face (orange, remember y axis points down) + {{-.5f, -.5f, -.5f}, {.9f, .6f, .1f}}, + {{.5f, -.5f, .5f}, {.9f, .6f, .1f}}, + {{-.5f, -.5f, .5f}, {.9f, .6f, .1f}}, + {{-.5f, -.5f, -.5f}, {.9f, .6f, .1f}}, + {{.5f, -.5f, -.5f}, {.9f, .6f, .1f}}, + {{.5f, -.5f, .5f}, {.9f, .6f, .1f}}, + + // bottom face (red) + {{-.5f, .5f, -.5f}, {.8f, .1f, .1f}}, + {{.5f, .5f, .5f}, {.8f, .1f, .1f}}, + {{-.5f, .5f, .5f}, {.8f, .1f, .1f}}, + {{-.5f, .5f, -.5f}, {.8f, .1f, .1f}}, + {{.5f, .5f, -.5f}, {.8f, .1f, .1f}}, + {{.5f, .5f, .5f}, {.8f, .1f, .1f}}, + + // nose face (blue) + {{-.5f, -.5f, 0.5f}, {.1f, .1f, .8f}}, + {{.5f, .5f, 0.5f}, {.1f, .1f, .8f}}, + {{-.5f, .5f, 0.5f}, {.1f, .1f, .8f}}, + {{-.5f, -.5f, 0.5f}, {.1f, .1f, .8f}}, + {{.5f, -.5f, 0.5f}, {.1f, .1f, .8f}}, + {{.5f, .5f, 0.5f}, {.1f, .1f, .8f}}, + + // tail face (green) + {{-.5f, -.5f, -0.5f}, {.1f, .8f, .1f}}, + {{.5f, .5f, -0.5f}, {.1f, .8f, .1f}}, + {{-.5f, .5f, -0.5f}, {.1f, .8f, .1f}}, + {{-.5f, -.5f, -0.5f}, {.1f, .8f, .1f}}, + {{.5f, -.5f, -0.5f}, {.1f, .8f, .1f}}, + {{.5f, .5f, -0.5f}, {.1f, .8f, .1f}}, + + }; + for (auto &v : vertices) + { + v.position += offset; + } + return std::make_unique(device, vertices); + } + + void FirstApp::loadGameObjects() + { + 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.scale = {.5f, .5f, .5f}; + m_gameObjects.push_back(std::move(cube)); } } // namespace hk \ No newline at end of file diff --git a/gravity_physics_system.hpp b/gravity_physics_system.hpp deleted file mode 100644 index b53f3f1..0000000 --- a/gravity_physics_system.hpp +++ /dev/null @@ -1,129 +0,0 @@ -#pragma once - -#include - -#define GLM_FORCE_RADIANS -#define GLM_FORCE_DEPTH_ZERO_TO_ONE -#include -#include - -// std -#include -#include -#include - -namespace hk -{ - class GravityPhysicsSystem - { - public: - GravityPhysicsSystem(float strength) :m_strengthGravity(strength) {} - - void update(std::vector &objs, float dt, unsigned int substeps = 1) - { - const float stepDelta = dt / substeps; - - for (int i = 0; i < substeps; i++) - { - stepSimulation(objs, stepDelta); - } - } - - glm::vec2 computeForce(GameObject &fromObj, GameObject &toObj) const - { - auto offset = fromObj.m_transform2d.translation - toObj.m_transform2d.translation; - float distanceSquared = glm::dot(offset, offset); - - if (glm::abs(distanceSquared < 1e-10f)) - { - return {.0f, .0f}; - } - float force = m_strengthGravity * toObj.m_rigidBody2d.mass * fromObj.m_rigidBody2d.mass / distanceSquared; - - return force * offset / glm::sqrt(distanceSquared); - } - - const float m_strengthGravity; - private: - void stepSimulation(std::vector &physicsObjs, float dt) - { - // Loops throught all pairs of objects and applies attractive force between them - for (auto iterA = physicsObjs.begin(); iterA != physicsObjs.end(); ++iterA) - { - auto &objA = *iterA; - for (auto iterB = iterA; iterB != physicsObjs.end(); ++iterB) - { - if (iterA == iterB) continue; - - auto &objB = *iterB; - auto force = computeForce(objA, objB); - objA.m_rigidBody2d.velocity += dt * -force / objA.m_rigidBody2d.mass; - objB.m_rigidBody2d.velocity += dt * force / objB.m_rigidBody2d.mass; - } - } - - // update each objects position based on its final velocity - for (auto &obj : physicsObjs) - { - obj.m_transform2d.translation += dt * obj.m_rigidBody2d.velocity; - } - } - }; - - class Vec2FieldSystem - { - public: - void update(const GravityPhysicsSystem &physicsSystem, std::vector &physicsObjs, std::vector &vectorField) - { - for (auto &vf : vectorField) - { - glm::vec2 direction{}; - for (auto &obj : physicsObjs) - { - direction += physicsSystem.computeForce(obj, vf); - } - - vf.m_transform2d.scale.x = 0.005f + 0.045f * glm::clamp(glm::log(glm::length(direction) + 1) / 3.f, 0.f, 1.f); - vf.m_transform2d.rotation = atan2(direction.y, direction.x); - } - } - }; - - std::unique_ptr createSquareModel(Device &device, glm::vec2 offset) - { - std::vector vertices = { - {{-0.5f, -0.5f}}, {{0.5f, 0.5f}}, - {{-0.5f, 0.5f}}, {{-0.5f, -0.5f}}, - {{0.5f, -0.5f}}, {{0.5f, 0.5f}}, - }; - - for (auto &v : vertices) - { - v.posision += offset; - } - - return std::make_unique(device, vertices); - } - - std::unique_ptr createCircleModel(Device &device, unsigned int numSides) - { - std::vector uniqueVertices{}; - for(int i = 0; i < numSides; i++) - { - float angle = i * glm::two_pi() / numSides; - uniqueVertices.push_back({{glm::cos(angle), glm::sin(angle)}}); - } - - uniqueVertices.push_back({}); - - std::vector vertices{}; - for(int i = 0; i < numSides; i++) - { - vertices.push_back(uniqueVertices[i]); - vertices.push_back(uniqueVertices[(i+1) % numSides]); - vertices.push_back(uniqueVertices[numSides]); - } - return std::make_unique(device, vertices); - } - -} \ No newline at end of file diff --git a/hk_game_object.hpp b/hk_game_object.hpp index 6a2521b..736385b 100644 --- a/hk_game_object.hpp +++ b/hk_game_object.hpp @@ -2,29 +2,51 @@ #include "hk_model.hpp" +// libs +#include + // std #include namespace hk { - struct Transform2dComponent + struct TransformComponent { - glm::vec2 translation{}; - glm::vec2 scale{1.0f, 1.0f}; - float rotation; - glm::mat2 mat2() + glm::vec3 translation{}; + glm::vec3 scale{1.0f, 1.0f, 1.0f}; + glm::vec3 rotation{}; + + // Matrix corrsponds to Translate * Ry * Rx * Rz * Scale + // Rotations correspond to Tait-bryan angles of Y(1), X(2), Z(3) + // https://en.wikipedia.org/wiki/Euler_angles#Rotation_matrix + glm::mat4 mat4() { - const float cos = glm::cos(rotation); - const float sin = glm::sin(rotation); - glm::mat2 rotationMat{ - {cos, sin}, - {-sin, cos}}; - - glm::mat2 scaleMat{ - {scale.x, .0f}, - {.0f, scale.y}}; - - return rotationMat * scaleMat; + 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); + return glm::mat4{ + { + scale.x * (c1 * c3 + s1 * s2 * s3), + scale.x * (c2 * s3), + scale.x * (c1 * s2 * s3 - c3 * s1), + 0.0f, + }, + { + scale.y * (c3 * s1 * s2 - c1 * s3), + scale.y * (c2 * c3), + scale.y * (c1 * c3 * s2 + s1 * s3), + 0.0f, + }, + { + scale.z * (c2 * s1), + scale.z * (-s2), + scale.z * (c1 * c2), + 0.0f, + }, + {translation.x, translation.y, translation.z, 1.0f}}; } }; @@ -55,7 +77,7 @@ namespace hk std::shared_ptr m_model{}; glm::vec3 m_color{}; - Transform2dComponent m_transform2d{}; + TransformComponent m_transform{}; RigidBody2dComponent m_rigidBody2d{}; diff --git a/hk_model.cpp b/hk_model.cpp index 9ec33fd..fb549ee 100644 --- a/hk_model.cpp +++ b/hk_model.cpp @@ -58,8 +58,8 @@ namespace hk{ std::vector attributeDescriptions(2); attributeDescriptions[0].binding = 0; attributeDescriptions[0].location = 0; - attributeDescriptions[0].format = VK_FORMAT_R32G32_SFLOAT; - attributeDescriptions[0].offset = offsetof(Vertex, posision); + attributeDescriptions[0].format = VK_FORMAT_R32G32B32_SFLOAT; + attributeDescriptions[0].offset = offsetof(Vertex, position); attributeDescriptions[1].binding = 0; attributeDescriptions[1].location = 1; diff --git a/hk_model.hpp b/hk_model.hpp index 6514f86..22d6550 100644 --- a/hk_model.hpp +++ b/hk_model.hpp @@ -13,7 +13,7 @@ namespace hk{ { public: struct Vertex { - glm::vec2 posision; + glm::vec3 position; glm::vec3 color; static std::vector getBindingDescriptions(); diff --git a/main.cpp b/main.cpp index ee252b8..e7e76be 100644 --- a/main.cpp +++ b/main.cpp @@ -5,19 +5,13 @@ #include #include -#define GRAVITY_SYSTEM 0 - int main() { hk::FirstApp app{}; try { -#if GRAVITY_SYSTEM == 1 - app.runGravitySystem(); -#else app.run(); -#endif } catch(const std::exception& e) { diff --git a/shaders/simple_shader.frag b/shaders/simple_shader.frag index 1ac75db..f794937 100644 --- a/shaders/simple_shader.frag +++ b/shaders/simple_shader.frag @@ -1,13 +1,13 @@ #version 450 +layout (location = 0) in vec3 fragColor; layout (location = 0) out vec4 outColor; layout(push_constant) uniform Push{ - mat2 transform; - vec2 offset; + mat4 transform; vec3 color; } push; void main(){ - outColor = vec4(push.color, 1.0); + outColor = vec4(fragColor, 1.0); } \ No newline at end of file diff --git a/shaders/simple_shader.frag.spv b/shaders/simple_shader.frag.spv index 96bd40bcd224ff1cde3b85238beb211147efe8f9..2539eb5029132961e76f044ac6015e1ba42a8906 100644 GIT binary patch literal 800 zcmZ9J+e!jq6oq%{sA-Z45W*SAUZ(Acp+%?0E2j_0Z)u$&|S~gQ*{%xzHut) zmp%Jm>tFk5GSSMI?O5IlR=3TmSVD}6OGn=AK6TrxaMV6KKSfcrWF$mWvW%tVvDv_% z^RO%1la-}|R{`CU%4+tZpp@mz?Rsvn=XM{w;d1G%!nf(zoBH#yH}Zq=F!W!?=(1Zn ze?FY9N818NitW0NIZ^G!I=o*@7lF!&aiU%(!QlCaB}$uj!r^*Ob*&i=1F~)YLaC&p!u$6=QmbL!XmJ4@RGtXLfk>U}l3m5k^~- znZ4g030HL^H}x9&vO759$#*DEJ$Ukg*(KbCW@H{>IrQ);hCN-2B}YL<{YSCXF2$VO kFUJni(c_P<5_9D5t3!I+ml2PicjmZJReIs=OBpU@-&r0#u>b%7 literal 856 zcmYk3UrPc}5XGnbli44&GOGtMd<>+AiXbW?VtWuW`T$GlN(<_Wy9T}W+4@wy1fAb{ zt-UgL?wmP0XJ*W;w%5#7Y{Rzf$QGw&t3pgzG4)>erQ3;s=HRoOz<* zFbAoVJWr>>r-m|2@L&ZE=gT}b0aUE(&E&ZE=f&2CB=41IXj42C{fOXg{h z^a-}B8-JW`cY*EeT@==mHPj3BiP=+2H(LC2;8!lDe=zuEdHB>lP`n`zMofNFo;>`f zn`6l#hsL%%HR%%#Vs-{rSIlfJ*^2DM#WlUr;QJkUxYQ$$UR`GPd3zyEc+A70k8dID z`c60B?#j@k=CzpA*^_}ki$lGAhsph64TsU!l6T-RG<(__dpnfzJ$&-?cB4+{ncR;i HyOjL`c4j@C diff --git a/shaders/simple_shader.vert b/shaders/simple_shader.vert index 575caf9..6ba50dd 100644 --- a/shaders/simple_shader.vert +++ b/shaders/simple_shader.vert @@ -1,14 +1,16 @@ #version 450 -layout(location = 0) in vec2 position; +layout(location = 0) in vec3 position; layout(location = 1) in vec3 color; +layout(location = 0) out vec3 fragColor; + layout(push_constant) uniform Push{ - mat2 transform; - vec2 offset; + mat4 transform; vec3 color; } push; void main(){ - gl_Position = vec4(push.transform * position + push.offset, 0.0, 1.0); + gl_Position = push.transform * vec4(position, 1.0); + fragColor = color; } diff --git a/shaders/simple_shader.vert.spv b/shaders/simple_shader.vert.spv index 807bfb5c1474adebc262d387c5122c0d78bdc71b..b34359075f7bfd2bfed1d7b8bbcb222527629a26 100644 GIT binary patch literal 1352 zcmZ9KTW`}q5QVo%otBoil+p`OLQ1$iRH}FYgoL=MAoCEZL6vy5BF8N&xwd6H74)fp zfxpDB;suHG+1|)vqsi&X9B!lGF*{wVNIPW;j5Ak4C$D1XLL z5ZfdQrZ$hl(q2ZyEw|!q62`M>JHS&!yQU|ttEzDx2jeLJ7UgC1Lr`qZv*#==Y-!U( z>{1m^4;62d^3-0bGCB1bnss&@+w7Aq%1IJN^D`#E*({FdXP)|`cNY3?%a3QpcQ87@ ztTLY@#aWtPXx~#LJUYTOPIGy3@5pCOt|x|hW=?z+<5lxL%O~f@tvu%K?(wCEnb5}< z-NByayyK`1hj$z~aP;Xo_HfLdyU|_WUH2-eDs{Z;RgcTu`i~n5v$)sw4);Ok>vnqW z%UEFEQ5(}E7`(dBxnfFT5g8JX~Kp zdUkhkh7A;VQ{K(wO@sOVaMW3^;_7>;1KyCa_Jo-W_o54(oAT5pzc0*eh=HfxmOPr^ zsR!nrz;V9a?8yP|$uG#rCmzgf;m|{^`!Zv$-xGhJ9ktN}9yZwJgZUQ3xcm4P-1kb~ zlG)P>iH1oIU88XwJqC0z!f|K zuf$VvgT((i-ja>RGxN{CbIP_`{Uu`-%&J*4hh}y*O-qOo)~$6oI2#<5)%fV?vnMdt zO}i$-*)Yqsy{PZ`$fY=Ik{go8lD2*=>E9wRniUfcqVVJ-9DIo4JdeuiTVkWcr8XM7 z!p4>RV&N^%@mv}w)A2l^BgTBaj{00xjZaB5w8ckTRQ9V}p)(wtSXR2qWvS4mnos{V z?$YYaeOG1f%wqJc*t^8#?_F7q(%4?an4Z`)NiJd?&B@#x`rDEoPRq~u^nuT*icwll zvf^BJS4?pF$R?B0R{t^T$61mU(&XEg&YOH4A?!Ez12r7>?e83m!%jF}dyINuXpd13 zjM+Sf4aTlRMX=!=H}lCQ~}1>cYD+$0ILTAfXm_!9vwy)}Dle z&z$(=*%Axhf$q>R_KvKsbRgLkpZfUBv8^vJHjr=*8~>7Q^6krCk%kY}lf~RV2QefN z@3J&CiN9=o-T)YN)};dpd8vcHA>q&$^HYbO_vCL%gW(guDovbxy=I@DLyR7-Nz*6$ zq6d853K;R7#^xUWb!qyc4t#v}3+8*g)%ft)Gr8asr=L3#j`#bu_u~!x2eRpxec?Zn zCO7?351;=J?73!QR{j?b_x=dsO}*8Z-ghO;!`@zr$sBtUaD4i@DPe|Rx`V$jfdft+ zX1FaO53~7ufo$-f&AkKJ+zlkB!kG201f1isd$Pe6BtuQgtoJ2wiLoDcLT&c(P{O-l PhS!=BAO2rucp>=*R3c{M diff --git a/simple_render_system.cpp b/simple_render_system.cpp index 2105d4d..1e127b9 100644 --- a/simple_render_system.cpp +++ b/simple_render_system.cpp @@ -14,8 +14,7 @@ namespace hk { struct SimplePushConstantData { - glm::mat2 transform{1.0f}; - glm::vec2 offset; + glm::mat4 transform{1.0f}; alignas(16) glm::vec3 color; }; @@ -72,12 +71,12 @@ namespace hk m_pipeline->bind(commandBuffer); for (auto &obj : gameObjects) { - obj.m_transform2d.rotation = glm::mod(obj.m_transform2d.rotation + 0.01f, glm::two_pi()); + obj.m_transform.rotation.y = glm::mod(obj.m_transform.rotation.y + 0.01f, glm::two_pi()); + obj.m_transform.rotation.x = glm::mod(obj.m_transform.rotation.x + 0.005f, glm::two_pi()); SimplePushConstantData push{}; - push.offset = obj.m_transform2d.translation; push.color = obj.m_color; - push.transform = obj.m_transform2d.mat2(); + push.transform = obj.m_transform.mat4(); vkCmdPushConstants( commandBuffer,