From 6b8a29105a0c23af641b32fb99cd42756cb51cf7 Mon Sep 17 00:00:00 2001 From: Ian Curtis Date: Sat, 4 Jan 2020 13:48:14 +0000 Subject: [PATCH] Sutherland-Hodgeman clipping only works for planar primitives. Scud is rendering non planar quads and this breaks our algorithm a little when using the quad renderer. Stretching the near plane a few % is enough to fix it. --- Src/Graphics/New3D/New3D.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Src/Graphics/New3D/New3D.cpp b/Src/Graphics/New3D/New3D.cpp index 96f267e..e445947 100644 --- a/Src/Graphics/New3D/New3D.cpp +++ b/Src/Graphics/New3D/New3D.cpp @@ -165,7 +165,7 @@ bool CNew3D::RenderScene(int priority, bool renderOverlay, Layer layer) std::shared_ptr tex1; - CalcViewport(&n.viewport, std::abs(m_nfPairs[priority].zNear*0.99f), std::abs(m_nfPairs[priority].zFar*1.05f)); // make planes 5% bigger + CalcViewport(&n.viewport, std::abs(m_nfPairs[priority].zNear*0.95f), std::abs(m_nfPairs[priority].zFar*1.05f)); // make planes 5% bigger glViewport(n.viewport.x, n.viewport.y, n.viewport.width, n.viewport.height); m_r3dShader.SetViewportUniforms(&n.viewport);