shithub: fnt

Download patch

ref: 2ea187e41726a61d37d225fd8057c08414f4f8f0
parent: f60c543e823dcf95352fd0fe37a0a851a556be81
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Wed Jul 31 01:28:27 EDT 2024

same for linear terms

--- a/rast.c
+++ b/rast.c
@@ -199,10 +199,6 @@
 		      -   z.p2.x*(3*z.p2.y + 2*z.p1.y +   z.p0.y);
 		r = 1;
 	}
-	if(r){
-		L[0] /= 6.0;
-		L[1] /= 6.0;
-	}
 	return r;
 }
 
@@ -252,8 +248,8 @@
 
 	K[0] += β₂ - β₁;
 	K[1] += α₁ - α₂;
-	L[0] += (β₂ - β₁)*(α₁ + α₂)/2;
-	L[1] += (α₁ - α₂)*(β₁ + β₂)/2;
+	L[0] += 3.0*(β₂ - β₁)*(α₁ + α₂);
+	L[1] += 3.0*(α₁ - α₂)*(β₁ + β₂);
 	return 1;
 }
 
@@ -324,9 +320,9 @@
 		}
 
 		if(z != 0){
-			c[0] += L[0][1] - L[1][1] + L[2][1] - L[3][1] + K[1][1] + K[3][1];
-			c[1] += L[0][0] + L[1][0] - L[2][0] - L[3][0] + K[2][0] + K[3][0];
-			c[2] += L[0][0] - L[1][0] - L[2][0] + L[3][0] + K[2][0] - K[3][0];
+			c[0] += (L[0][1] - L[1][1] + L[2][1] - L[3][1])/6.0 + K[1][1] + K[3][1];
+			c[1] += (L[0][0] + L[1][0] - L[2][0] - L[3][0])/6.0 + K[2][0] + K[3][0];
+			c[2] += (L[0][0] - L[1][0] - L[2][0] + L[3][0])/6.0 + K[2][0] - K[3][0];
 		}
 	}
 	return all;