New Revision: 376
Undoing revision 375 because it did not offer measured accuracy improvements
in the q3map2 math calculations.
As you can see, all points but one have an increase in accuracy. This is
still not accurate enough in my opinion, but is a step in the right direction.
As you can see, all points but one have an increase in accuracy. This is
still not accurate enough in my opinion, but is a step in the right direction.
+
+
+MORE NOTES:
+===========
+
+I attempted to improve upon revision 371 by streamlining the code in
+BaseWindingForPlane() some more. Those attempts were committed as r375.
+After revision 375:
+
+ (6784.09375000 16241.01757812 -1722.04687500)
+ (6144.00000000 16082.99414062 -1443.00390625)
+ (6144.00000000 16122.00000000 -1424.00097656)
+
+Revision 375 has since been reverted (undone) because of the loss in
+accuracy.
vright[2] = normal[1];
break;
}
vright[2] = normal[1];
break;
}
- // NOTE: vright is NOT a unit vector at this point.
- VectorSetLength(vright, MAX_WORLD_COORD * 2, vright);
CrossProduct(normal, vright, vup);
CrossProduct(normal, vright, vup);
+
+ // IMPORTANT NOTE: vright and vup are NOT unit vectors at this point.
+ // However, normal, vup, and vright are pairwise perpendicular.
+
+ VectorSetLength(vup, MAX_WORLD_COORD * 2, vup);
+ VectorSetLength(vright, MAX_WORLD_COORD * 2, vright);
VectorScale(normal, dist, org);
w = AllocWinding(4);
VectorScale(normal, dist, org);
w = AllocWinding(4);