diff --git a/Engine/Src/Imp/CPP/Components/CameraComponent.cpp b/Engine/Src/Imp/CPP/Components/CameraComponent.cpp index 7249d18..78733d7 100644 --- a/Engine/Src/Imp/CPP/Components/CameraComponent.cpp +++ b/Engine/Src/Imp/CPP/Components/CameraComponent.cpp @@ -18,6 +18,7 @@ #include #include +#include namespace ia::iae { @@ -38,7 +39,7 @@ namespace ia::iae CONST Mat4 *CameraComponent::GetViewMatrix() { - const auto pos = m_node->GetPosition() + m_positionOffset; + const auto pos = (m_node->GetPosition() + m_positionOffset) * Engine::GetRendererScalingFactor(); m_viewMatrix = glm::lookAtLH(glm::vec3{pos, -2.0f}, {pos, 0.0f}, {0.0f, 1.0f, 0.0f}); return &m_viewMatrix; } diff --git a/Engine/Src/Imp/CPP/Renderer/Renderer.cpp b/Engine/Src/Imp/CPP/Renderer/Renderer.cpp index e417390..11d47f3 100644 --- a/Engine/Src/Imp/CPP/Renderer/Renderer.cpp +++ b/Engine/Src/Imp/CPP/Renderer/Renderer.cpp @@ -326,6 +326,11 @@ namespace ia::iae return Renderer::s_state.ActiveCamera; } + Vec2 Engine::GetRendererScalingFactor() + { + return Renderer::s_state.SceneScaleFactor; + } + Handle Engine::CreateGeometry(IN CONST Vector &vertices, IN CONST Vector &indices) { return (Handle) Renderer::CreateGeometry(vertices, indices); diff --git a/Engine/Src/Inc/IAEngine/Engine.hpp b/Engine/Src/Inc/IAEngine/Engine.hpp index ef664e7..a39c626 100644 --- a/Engine/Src/Inc/IAEngine/Engine.hpp +++ b/Engine/Src/Inc/IAEngine/Engine.hpp @@ -61,6 +61,7 @@ namespace ia::iae STATIC VOID SetRenderState_Texture(IN Handle image); STATIC VOID SetRenderState_Transform(IN Vec2 position, IN Vec2 scale, IN FLOAT32 rotation, IN UINT8 layer, IN INT16 sortIndex); + STATIC Vec2 GetRendererScalingFactor(); // Debug Draw Functions STATIC VOID DebugDraw_SetColor(IN Color color);