inline void tglMultMatrix(const math::Matrix4& matrix) { #if defined(TAU_SCALAR_DOUBLE) glMultTransposeMatrixd((const double*)matrix.getData()); #else glMultTransposeMatrixf((const float*)matrix.getData()); #endif }
static int lua_glMultTransposeMatrixd(lua_State *L) { CHECK_ARG_COUNT(L, 1); Array1D<Double> m(L, 1); if (m.size() != 16) { luaL_error(L, "gl.MultTransposeMatrixd: invalid matrix data"); } glMultTransposeMatrixd(m); return 0; }
# Dessin du squelette ############################################################################################################################ */ void DrawSkelet(void) { /* **************************************************************************************************************************** */ int i; MDFloat tempT[4][4]; MDFloat ZTi[4][4]; MDFloat *ptrZTi = (MDFloat*)ZTi; MDFloat *ptrtempT = (MDFloat*)tempT; /* **************************************************************************************************************************** */ MoveToOrigin(); /* **************************************************************************************************************************** */ glLoadName(_DESIRED_EE_ID_); glDisable(GL_LIGHTING); glMatrixMode(GL_MODELVIEW); glBegin(GL_POINTS); glColor3f(1.0f, 1.0f, 0.2f); glVertex3dv(PNew); glEnd(); glEnable(GL_LIGHTING); /* **************************************************************************************************************************** */ glMatrixMode(GL_MODELVIEW); /* **************************************************************************************************************************** */ glPushMatrix(); /* **************************************************************************************************************************** */ LoadIdentity(ptrZTi); for (i=0; i<_NO_OF_LINKS_; i++) { Skelet[i].Draw(); glPopMatrix(); glPushMatrix(); MultMatrix4x4((MDFloat(*)[4])Skelet[i].Get_im1Ti(), ZTi, tempT); CopyMatrix4x4(ptrtempT, ptrZTi); glMultTransposeMatrixd(ptrZTi); } /* **************************************************************************************************************************** */ DrawEE(); /* **************************************************************************************************************************** */
void Camera::GLMultTransposeRotMatrix() { GetLeft(); #if GLVIS_GLX10 double mat_t[16] = { -left[0], -left[1], -left[2], 0.0, up[0], up[1], up[2], 0.0, -dir[0], -dir[1], -dir[2], 0.0, 0.0, 0.0, 0.0, 1.0 }; glMultMatrixd(mat_t); #else double mat[16] = { -left[0], up[0], -dir[0], 0.0, -left[1], up[1], -dir[1], 0.0, -left[2], up[2], -dir[2], 0.0, 0.0, 0.0, 0.0, 1.0 }; glMultTransposeMatrixd(mat); #endif }
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglMultTransposeMatrixd(JNIEnv *env, jclass clazz, jlong m, jlong function_pointer) { const GLdouble *m_address = (const GLdouble *)(intptr_t)m; glMultTransposeMatrixdPROC glMultTransposeMatrixd = (glMultTransposeMatrixdPROC)((intptr_t)function_pointer); glMultTransposeMatrixd(m_address); }
JNIEXPORT void JNICALL Java_org_lwjgl_opengl_GL13_nglMultTransposeMatrixd(JNIEnv *__env, jclass clazz, jlong mAddress, jlong __functionAddress) { const GLdouble *m = (const GLdouble *)(intptr_t)mAddress; glMultTransposeMatrixdPROC glMultTransposeMatrixd = (glMultTransposeMatrixdPROC)(intptr_t)__functionAddress; UNUSED_PARAMS(__env, clazz) glMultTransposeMatrixd(m); }
void gl4es_glMatrixMultTransposed(GLenum matrixMode, const GLdouble *m) { mat(glMultTransposeMatrixd(m)); }