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