From f74e74ac4b17cc2ad24c5e58dd750a1c276df70d Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Sun, 3 Jun 2018 14:06:59 +0200 Subject: [PATCH] Mirroring should be flipped on HUD models since the view to world space transform already inverts one axis --- src/gl/models/gl_models.cpp | 2 +- src/polyrenderer/scene/poly_model.cpp | 2 +- src/swrenderer/things/r_model.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/gl/models/gl_models.cpp b/src/gl/models/gl_models.cpp index a4360cf07..8669d7bab 100644 --- a/src/gl/models/gl_models.cpp +++ b/src/gl/models/gl_models.cpp @@ -91,7 +91,7 @@ void FGLModelRenderer::BeginDrawHUDModel(AActor *actor, const VSMatrix &objectTo if (!(actor->RenderStyle == LegacyRenderStyles[STYLE_Normal])) { glEnable(GL_CULL_FACE); - glFrontFace((mirrored ^ GLPortal::isMirrored()) ? GL_CCW : GL_CW); + glFrontFace((mirrored ^ GLPortal::isMirrored()) ? GL_CW : GL_CCW); } gl_RenderState.mModelMatrix = objectToWorldMatrix; diff --git a/src/polyrenderer/scene/poly_model.cpp b/src/polyrenderer/scene/poly_model.cpp index 04a2d7ba2..1a5aa842f 100644 --- a/src/polyrenderer/scene/poly_model.cpp +++ b/src/polyrenderer/scene/poly_model.cpp @@ -109,7 +109,7 @@ void PolyModelRenderer::BeginDrawHUDModel(AActor *actor, const VSMatrix &objectT if (actor->RenderStyle == LegacyRenderStyles[STYLE_Normal]) PolyTriangleDrawer::SetTwoSided(Thread->DrawQueue, true); - PolyTriangleDrawer::SetCullCCW(Thread->DrawQueue, !mirrored); + PolyTriangleDrawer::SetCullCCW(Thread->DrawQueue, mirrored); } void PolyModelRenderer::EndDrawHUDModel(AActor *actor) diff --git a/src/swrenderer/things/r_model.cpp b/src/swrenderer/things/r_model.cpp index bf9810e71..d3eac67e0 100644 --- a/src/swrenderer/things/r_model.cpp +++ b/src/swrenderer/things/r_model.cpp @@ -194,7 +194,7 @@ namespace swrenderer if (actor->RenderStyle == LegacyRenderStyles[STYLE_Normal]) PolyTriangleDrawer::SetTwoSided(Thread->DrawQueue, true); - PolyTriangleDrawer::SetCullCCW(Thread->DrawQueue, !mirrored); + PolyTriangleDrawer::SetCullCCW(Thread->DrawQueue, mirrored); } void SWModelRenderer::EndDrawHUDModel(AActor *actor)