/** * Multiply the current matrix with a translation matrix. * * \param x translation vector x coordinate. * \param y translation vector y coordinate. * \param z translation vector z coordinate. * * \sa glTranslatef(). * * Flushes the vertices and calls _math_matrix_translate() with the top-most * matrix in the current stack and the given parameters. Marks * __GLcontextRec::NewState with the dirty stack flag. */ void GLAPIENTRY _mesa_Translatef( GLfloat x, GLfloat y, GLfloat z ) { GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); _math_matrix_translate( ctx->CurrentStack->Top, x, y, z); ctx->NewState |= ctx->CurrentStack->DirtyFlag; }
/** * Multiply the current matrix with a translation matrix. * * \param x translation vector x coordinate. * \param y translation vector y coordinate. * \param z translation vector z coordinate. * * \sa glTranslatef(). * * Flushes the vertices and calls _math_matrix_translate() with the top-most * matrix in the current stack and the given parameters. Marks * __struct gl_contextRec::NewState with the dirty stack flag. */ void GLAPIENTRY _mesa_Translatef( GLfloat x, GLfloat y, GLfloat z ) { GET_CURRENT_CONTEXT(ctx); FLUSH_VERTICES(ctx, 0); _math_matrix_translate( ctx->CurrentStack->Top, x, y, z); ctx->NewState |= ctx->CurrentStack->DirtyFlag; }
void cogl_matrix_translate (CoglMatrix *matrix, float x, float y, float z) { #ifndef USE_MESA_MATRIX_API matrix->xw = matrix->xx * x + matrix->xy * y + matrix->xz * z + matrix->xw; matrix->yw = matrix->yx * x + matrix->yy * y + matrix->yz * z + matrix->yw; matrix->zw = matrix->zx * x + matrix->zy * y + matrix->zz * z + matrix->zw; matrix->ww = matrix->wx * x + matrix->wy * y + matrix->wz * z + matrix->ww; #else _math_matrix_translate (matrix, x, y, z); #endif _COGL_MATRIX_DEBUG_PRINT (matrix); }