add comments so I know which plane type is which git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10460 d7cf8633-e32d-0410-b094-e92efae38249
make Matrix_ToBonePose6s check the podality of quaternions rather than assuming they are always positive from Matrix4x4_ToOrigin3Quat4Float git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9916 d7cf8633-e32d-0410-b094-e92efae38249
handle case where trace is zero in Matrix4x4_ToOrigin3Quat4Float git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9911 d7cf8633-e32d-0410-b094-e92efae38249
redesigned skeletal model animation bone pose format - instead of float[12] matrix data it is now short[6] origin+quat data with appropriate scale factors detected at load to preserve full range of motion, this does however lose the ability to scale bones in a model... this reduces memory usage significantly in some games git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9815 d7cf8633-e32d-0410-b094-e92efae38249
reworked Matrix4x4_TransformPositivePlane and Matrix4x4_TransformStandardPlane to preserve unit length normal git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9427 d7cf8633-e32d-0410-b094-e92efae38249
use bounding boxes for shadowmap side culling instead of spheres for better accuracy git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9319 d7cf8633-e32d-0410-b094-e92efae38249
improved shadowmap side culling git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9316 d7cf8633-e32d-0410-b094-e92efae38249
use cached matrix elements for calculating determinant git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9315 d7cf8633-e32d-0410-b094-e92efae38249
even better matrix inversion (will test it later), in benchmarks it was slightly faster than the mesa one git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9314 d7cf8633-e32d-0410-b094-e92efae38249
fix typo :P git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9312 d7cf8633-e32d-0410-b094-e92efae38249
fix typo elsif git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9311 d7cf8633-e32d-0410-b094-e92efae38249
add yet another (disabled) variant of determinants git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9310 d7cf8633-e32d-0410-b094-e92efae38249
faster Matrix4x4_Invert_Full based on David Moore code in Mesa 7.6 (SGI Free License B - which is MIT/X11-type), previous version was from Mesa 5.0 git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9308 d7cf8633-e32d-0410-b094-e92efae38249
added float GL/D3D array conversions git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@9218 d7cf8633-e32d-0410-b094-e92efae38249
report a proper trace_plane_normal for trace_startsolid cases, this allows QC physics code to nudge objects out of eachother using the shortest vector, only valid if trace_fraction is 1 (works best for stationary overlap tests) properly transform trace_plane_dist rather than returning 0 git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8749 d7cf8633-e32d-0410-b094-e92efae38249
ported some features over from darkwar matrixlib.[ch] git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8442 d7cf8633-e32d-0410-b094-e92efae38249
move two #defined to quakedef.h, and always include quakedef.h first before any other includes, even system headers. This is to make compilation with gcc -combine work. Also, fix some type mismatches between source files. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@7689 d7cf8633-e32d-0410-b094-e92efae38249
disable double/float conversion warnings in matrixlib on MSVS git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@7575 d7cf8633-e32d-0410-b094-e92efae38249
implemented r_glsl_water cvar (refraction and reflection rendering) git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@7570 d7cf8633-e32d-0410-b094-e92efae38249
patch from Tomaz adding a proper matrix inverter, it should be able to invert any matrix that is possible to invert, but is VERY slow, and consequently Matrix4x4_Invert_Simple has been kept for speed reasons it is probably possible to optimize this function significantly, and it would also be possible to add non-uniform-scaling inversion to Matrix4x4_Invert_Simple to make it more flexible git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@6759 d7cf8633-e32d-0410-b094-e92efae38249