From 4f0a6ecb2037244a3623a8df7c40d883b523b2cf Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Fri, 20 Sep 2024 13:26:38 +0200 Subject: [PATCH] 2D-Renderer: Fix 2D-render coordinate mapping. --- src/Engine/RenderBackend/2D/CanvasRenderer.cpp | 10 +++++----- src/Engine/RenderBackend/RenderCommon.h | 4 +++- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Engine/RenderBackend/2D/CanvasRenderer.cpp b/src/Engine/RenderBackend/2D/CanvasRenderer.cpp index 9f137120d..17ed1cb83 100644 --- a/src/Engine/RenderBackend/2D/CanvasRenderer.cpp +++ b/src/Engine/RenderBackend/2D/CanvasRenderer.cpp @@ -58,7 +58,7 @@ struct DrawCmd { inline void mapCoordinates(const Rect2i &resolution, i32 x, i32 y, f32 &xOut, f32 &yOut) { xOut = (2.0f * static_cast(x) / static_cast(resolution.width)) - 1.0f; yOut = (2.0f * static_cast(y) / static_cast(resolution.height)) - 1.0f; - //yOut = -1.0f * yOut; + yOut = -1.0f * yOut; } inline void clip(const Rect2i &resolution, i32 x, i32 y, i32 &x_out, i32 &y_out) { @@ -350,12 +350,12 @@ static void createRectVertices(DrawCmd *drawCmd, const Color4 &penColor, const R drawCmd->NumIndices = 6; drawCmd->Indices = new ui16[drawCmd->NumIndices]; drawCmd->Indices[0] = 0; - drawCmd->Indices[1] = 1; - drawCmd->Indices[2] = 2; + drawCmd->Indices[1] = 2; + drawCmd->Indices[2] = 1; drawCmd->Indices[3] = 3; - drawCmd->Indices[4] = 4; - drawCmd->Indices[5] = 5; + drawCmd->Indices[4] = 5; + drawCmd->Indices[5] = 4; } void CanvasRenderer::drawRect(i32 x, i32 y, i32 w, i32 h, bool filled) { diff --git a/src/Engine/RenderBackend/RenderCommon.h b/src/Engine/RenderBackend/RenderCommon.h index f87c36bab..8f56f827b 100644 --- a/src/Engine/RenderBackend/RenderCommon.h +++ b/src/Engine/RenderBackend/RenderCommon.h @@ -948,7 +948,9 @@ struct OSRE_EXPORT IRenderPath { Shader *mShader; }; -inline IRenderPath::IRenderPath() : mShader(nullptr) {} +inline IRenderPath::IRenderPath() : mShader(nullptr) { + // empty +} enum class GLSLVersion { Invalid = -1,