   Now the bit i've been putting off - Collision
  I''ve got a Q3 map running fine (100+ fps) and now want to add collision support. I understand Q3 uses brushes for collision, (which reference planes). How would i go about checking a colision of a bounding sphere and a plane? I am a bit stumped.Thanks in advanceNeil    WHATCHA GONNA DO WHEN THE LARGEST ARMS IN THE WORLD RUN WILD ON YOU?!?!  
  http://www.realtimerendering.com/int/found this gem while looking for cylinder-plane intersections. its pretty hard to find out the original equations since the idiot has about 500000 source files with one 3d math function each, but its really good stuff.  ;  OK Well I found this in that little lot which apears to be what i''m after.bool Mgc::TestIntersection (const Plane& rkPlane, const Sphere& rkSphere,    bool bUnitNormal){    Vector3 kNormal = rkPlane.Normal();    Real fConstant = rkPlane.Constant();    if ( !bUnitNormal )    {   Real fLength = kNormal.Unitize();   fConstant /= fLength;    }    Real fPseudoDistance = kNormal.Dot(rkSphere.Center()) - fConstant;    return Math::FAbs(fPseudoDistance) <= rkSphere.Radius();}  However I dont really undersyand whats going on. I''d raher understand it before pluging into my program. Any explanations as to what is going on?Neil    WHATCHA GONNA DO WHEN THE LARGEST ARMS IN THE WORLD RUN WILD ON YOU?!?!  ;  Its checking the dot product between the bounding sphere of your character / camera and the plane normal to see if the sphere''s distance from the plane is less than the sphere''s radius.  ;  OK. So I have my Q3 BSP struct for a plane -typedef struct{ float normal[3]; float dist;} BSPPlane;  So I have the normal right? Is dist the plane constant then?Are the Q3 plane normals normalised? Sorry to be a pain.Neil WHATCHA GONNA DO WHEN THE LARGEST ARMS IN THE WORLD RUN WILD ON YOU?!?!  