示例#1
0
            inline void tglMultMatrix(const math::Matrix4& matrix)
            {
#if defined(TAU_SCALAR_DOUBLE)
                    glMultTransposeMatrixd((const double*)matrix.getData());
#else
                    glMultTransposeMatrixf((const float*)matrix.getData());
#endif
            }
示例#2
0
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();
/* **************************************************************************************************************************** */
示例#4
0
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);
}
示例#7
0
void gl4es_glMatrixMultTransposed(GLenum matrixMode, const GLdouble *m) {
    mat(glMultTransposeMatrixd(m));
}