From 8809375282ac0001c26aff5884fcdd0308153e18 Mon Sep 17 00:00:00 2001 From: Isuru Samarathunga Date: Thu, 18 Sep 2025 12:08:02 +0530 Subject: [PATCH] Sort Offset --- Src/IAEngine/imp/cpp/Components/SpriteRenderer.cpp | 2 +- Src/IAEngine/imp/cpp/Components/TextureRenderer.cpp | 8 +++----- .../inc/IAEngine/Components/SpriteRenderer.hpp | 10 ++++++++-- Src/IAEngine/inc/IAEngine/Rendering/Camera.hpp | 5 +++++ 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Src/IAEngine/imp/cpp/Components/SpriteRenderer.cpp b/Src/IAEngine/imp/cpp/Components/SpriteRenderer.cpp index f02954a..409c163 100644 --- a/Src/IAEngine/imp/cpp/Components/SpriteRenderer.cpp +++ b/Src/IAEngine/imp/cpp/Components/SpriteRenderer.cpp @@ -61,7 +61,7 @@ namespace ia::iae VOID SpriteRendererComponent::Draw() { const auto &animFrame = m_currentAnimationState; - animFrame.Texture.Draw(m_node->SortOffset(), m_node->GetPosition() + animFrame.Position, + animFrame.Texture.Draw(m_node->SortOffset() + m_sortOffset, m_node->GetPosition() + animFrame.Position, m_node->GetScale() * animFrame.Scale, m_node->GetRotation().z + animFrame.Rotation.z, m_isFlippedH, m_isFlippedV, animFrame.ColorOverlay); } diff --git a/Src/IAEngine/imp/cpp/Components/TextureRenderer.cpp b/Src/IAEngine/imp/cpp/Components/TextureRenderer.cpp index 942a70a..1059d00 100644 --- a/Src/IAEngine/imp/cpp/Components/TextureRenderer.cpp +++ b/Src/IAEngine/imp/cpp/Components/TextureRenderer.cpp @@ -26,14 +26,12 @@ namespace ia::iae VOID TextureRendererComponent::Update() { - } VOID TextureRendererComponent::Draw() { - m_texture.Draw( - m_node->SortOffset(), - m_node->GetPosition() + m_position, m_node->GetScale(), - m_node->GetRotation().z, false, false, glm::vec4{1.0f, 1.0f, 1.0f, 1.0f}); + m_texture.Draw(m_node->SortOffset(), m_node->GetPosition() + m_position, + m_node->GetScale(), m_node->GetRotation().z, + false, false, glm::vec4{1.0f, 1.0f, 1.0f, 1.0f}); } } // namespace ia::iae \ No newline at end of file diff --git a/Src/IAEngine/inc/IAEngine/Components/SpriteRenderer.hpp b/Src/IAEngine/inc/IAEngine/Components/SpriteRenderer.hpp index 5bfd04d..454279f 100644 --- a/Src/IAEngine/inc/IAEngine/Components/SpriteRenderer.hpp +++ b/Src/IAEngine/inc/IAEngine/Components/SpriteRenderer.hpp @@ -61,16 +61,21 @@ namespace ia::iae return m_animations; } - BOOL& IsFlippedV() + BOOL &IsFlippedV() { return m_isFlippedV; } - BOOL& IsFlippedH() + BOOL &IsFlippedH() { return m_isFlippedH; } + FLOAT32 &SortOffset() + { + return m_sortOffset; + } + public: VOID Draw(); VOID Update(); @@ -79,6 +84,7 @@ namespace ia::iae VOID UpdateAnimation(); private: + FLOAT32 m_sortOffset{}; BOOL m_isFlippedV{false}; BOOL m_isFlippedH{false}; FLOAT32 m_timelinePosition{}; diff --git a/Src/IAEngine/inc/IAEngine/Rendering/Camera.hpp b/Src/IAEngine/inc/IAEngine/Rendering/Camera.hpp index 2719ee2..82d6c02 100644 --- a/Src/IAEngine/inc/IAEngine/Rendering/Camera.hpp +++ b/Src/IAEngine/inc/IAEngine/Rendering/Camera.hpp @@ -33,6 +33,11 @@ namespace ia::iae return glm::lookAtLH(glm::vec3{m_position, -2.0f}, {m_position, 0.0f}, {0.0f, 1.0f, 0.0f}); } + glm::vec2 GetCameraSize() + { + return glm::vec2{640, 480}; // [IATODO] + } + private: glm::vec2 m_position{}; };