mirror of
https://github.com/ioquake/ioq3.git
synced 2025-05-31 09:01:54 +00:00
* Early out AABB collision optimisation from Robert Beckebans (Xreal)
This commit is contained in:
parent
0c99c0c1d2
commit
64239037e0
5 changed files with 69 additions and 1 deletions
|
@ -1037,6 +1037,53 @@ void AddPointToBounds( const vec3_t v, vec3_t mins, vec3_t maxs ) {
|
|||
}
|
||||
}
|
||||
|
||||
qboolean BoundsIntersect(const vec3_t mins, const vec3_t maxs,
|
||||
const vec3_t mins2, const vec3_t maxs2)
|
||||
{
|
||||
if ( maxs[0] < mins2[0] ||
|
||||
maxs[1] < mins2[1] ||
|
||||
maxs[2] < mins2[2] ||
|
||||
mins[0] > maxs2[0] ||
|
||||
mins[1] > maxs2[1] ||
|
||||
mins[2] > maxs2[2])
|
||||
{
|
||||
return qfalse;
|
||||
}
|
||||
|
||||
return qtrue;
|
||||
}
|
||||
|
||||
qboolean BoundsIntersectSphere(const vec3_t mins, const vec3_t maxs,
|
||||
const vec3_t origin, vec_t radius)
|
||||
{
|
||||
if ( origin[0] - radius > maxs[0] ||
|
||||
origin[0] + radius < mins[0] ||
|
||||
origin[1] - radius > maxs[1] ||
|
||||
origin[1] + radius < mins[1] ||
|
||||
origin[2] - radius > maxs[2] ||
|
||||
origin[2] + radius < mins[2])
|
||||
{
|
||||
return qfalse;
|
||||
}
|
||||
|
||||
return qtrue;
|
||||
}
|
||||
|
||||
qboolean BoundsIntersectPoint(const vec3_t mins, const vec3_t maxs,
|
||||
const vec3_t origin)
|
||||
{
|
||||
if ( origin[0] > maxs[0] ||
|
||||
origin[0] < mins[0] ||
|
||||
origin[1] > maxs[1] ||
|
||||
origin[1] < mins[1] ||
|
||||
origin[2] > maxs[2] ||
|
||||
origin[2] < mins[2])
|
||||
{
|
||||
return qfalse;
|
||||
}
|
||||
|
||||
return qtrue;
|
||||
}
|
||||
|
||||
vec_t VectorNormalize( vec3_t v ) {
|
||||
// NOTE: TTimo - Apple G4 altivec source uses double?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue