mirror of
https://github.com/TTimo/GtkRadiant.git
synced 2024-11-10 07:11:54 +00:00
Following up on r371; found another optimization for math rounding errors
in BaseWindingForPlane(). This allows me to get rid of an extra call to VectorSetLength() which contain floating point multiplications. Behavior of BaseWindingForPlane() has been verified against base_winding regression test (comparing output w/ logging patch). git-svn-id: svn://svn.icculus.org/gtkradiant/GtkRadiant/trunk@375 8a3a26a2-13c4-0310-b231-cf6edde360e5
This commit is contained in:
parent
3725d2baeb
commit
05e2114294
1 changed files with 2 additions and 6 deletions
|
@ -253,13 +253,9 @@ winding_t *BaseWindingForPlane (vec3_t normal, vec_t dist)
|
|||
vright[2] = normal[1];
|
||||
break;
|
||||
}
|
||||
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);
|
||||
// NOTE: vright is NOT a unit vector at this point.
|
||||
VectorSetLength(vright, MAX_WORLD_COORD * 2, vright);
|
||||
CrossProduct(normal, vright, vup);
|
||||
VectorScale(normal, dist, org);
|
||||
|
||||
w = AllocWinding(4);
|
||||
|
|
Loading…
Reference in a new issue