From 511f02ce6528afaf89baaacfd9fa017e4fe249e1 Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Tue, 29 Oct 2019 12:55:46 +0200 Subject: [PATCH] Don't render massive triangles --- components/renderers/cpp/src/triangle_render.cu | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/components/renderers/cpp/src/triangle_render.cu b/components/renderers/cpp/src/triangle_render.cu index 4fa7b68ac..43761ea2a 100644 --- a/components/renderers/cpp/src/triangle_render.cu +++ b/components/renderers/cpp/src/triangle_render.cu @@ -136,16 +136,16 @@ float getZAtCoordinate(const float3 &barycentricCoord, const float (&tri)[3]) { const int maxX = max(v[0].x, max(v[1].x, v[2].x)); const int maxY = max(v[0].y, max(v[1].y, v[2].y)); - //if ((maxX - minX) * (maxY - minY) > 200) return; - int incx = ((maxX - minX) / 20) + 1; - int incy = ((maxY - minY) / 20) + 1; + if ((maxX - minX) * (maxY - minY) > 200) return; + //int incx = ((maxX - minX) / 20) + 1; + //int incy = ((maxY - minY) / 20) + 1; float2 vs0 = make_float2(v[0].x, v[0].y); float2 vs1 = make_float2(v[1].x, v[1].y); float2 vs2 = make_float2(v[2].x, v[2].y); - for (int sy=minY; sy <= maxY; sy+=incy) { - for (int sx=minX; sx <= maxX; sx+=incx) { + for (int sy=minY; sy <= maxY; ++sy) { + for (int sx=minX; sx <= maxX; ++sx) { if (sx >= params.camera.width || sx < 0 || sy >= params.camera.height || sy < 0) continue; //float2 q = make_float2(sx, sy); //float s = det(q - vs0, vs1) / det(vs0, vs1); //cross(q, vs2) / cross(vs1, vs2); -- GitLab