From b8415199c9b8edf5d999fcdd474a5f44e1566418 Mon Sep 17 00:00:00 2001 From: Magnus Norddahl Date: Tue, 5 Dec 2017 00:32:37 +0100 Subject: [PATCH] Fix culling bug --- src/polyrenderer/drawers/poly_triangle.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/polyrenderer/drawers/poly_triangle.cpp b/src/polyrenderer/drawers/poly_triangle.cpp index 990ca581d..83a6f9ed7 100644 --- a/src/polyrenderer/drawers/poly_triangle.cpp +++ b/src/polyrenderer/drawers/poly_triangle.cpp @@ -333,7 +333,7 @@ void PolyTriangleDrawer::draw_shaded_triangle(const ShadedTriVertex *vert, bool args->v1 = &clippedvert[numclipvert - 1]; args->v2 = &clippedvert[i - 1]; args->v3 = &clippedvert[i - 2]; - if (is_frontfacing(args) && args->CalculateGradients()) + if (is_frontfacing(args) == ccw && args->CalculateGradients()) ScreenTriangle::Draw(args, thread); } } @@ -344,7 +344,7 @@ void PolyTriangleDrawer::draw_shaded_triangle(const ShadedTriVertex *vert, bool args->v1 = &clippedvert[0]; args->v2 = &clippedvert[i - 1]; args->v3 = &clippedvert[i]; - if (!is_frontfacing(args) && args->CalculateGradients()) + if (is_frontfacing(args) != ccw && args->CalculateGradients()) ScreenTriangle::Draw(args, thread); } }