nuclear@7: #include "opengl.h" nuclear@7: #include "vmath.h" nuclear@7: nuclear@7: void load_matrix(const Matrix4x4 &m) nuclear@7: { nuclear@7: #ifdef SINGLE_PRECISION_MATH nuclear@7: if(glLoadTransposeMatrixfARB) { nuclear@7: glLoadTransposeMatrixfARB((float*)&m); nuclear@7: } else { nuclear@7: Matrix4x4 tmat = m.transposed(); nuclear@7: glLoadMatrixf((float*)&tmat); nuclear@7: } nuclear@7: #else nuclear@7: if(glLoadTransposeMatrixdARB) { nuclear@7: glLoadTransposeMatrixdARB((double*)&m); nuclear@7: } else { nuclear@7: Matrix4x4 tmat = m.transposed(); nuclear@7: glLoadMatrixd((double*)&tmat); nuclear@7: } nuclear@7: #endif nuclear@7: } nuclear@7: nuclear@7: void mult_matrix(const Matrix4x4 &m) nuclear@7: { nuclear@7: #ifdef SINGLE_PRECISION_MATH nuclear@7: if(glMultTransposeMatrixfARB) { nuclear@7: glMultTransposeMatrixfARB((float*)&m); nuclear@7: } else { nuclear@7: Matrix4x4 tmat = m.transposed(); nuclear@7: glMultMatrixf((float*)&tmat); nuclear@7: } nuclear@7: #else nuclear@7: if(glMultTransposeMatrixdARB) { nuclear@7: glMultTransposeMatrixdARB((double*)&m); nuclear@7: } else { nuclear@7: Matrix4x4 tmat = m.transposed(); nuclear@7: glMultMatrixd((double*)&tmat); nuclear@7: } nuclear@7: #endif nuclear@7: }