void AmjuGLOpenGLES2::Translate(float x, float y, float z)
{
  AMJU_CALL_STACK;
  
  GLKMatrix4 mat = GLKMatrix4MakeTranslation(x, y, z);
  s_matrices[s_matrixMode] = GLKMatrix4Multiply(s_matrices[s_matrixMode], mat);
}
Beispiel #2
0
GLKMatrix4 Transform_GetMV(const Transform *slf){
 
 GLKMatrix4 tMat = GLKMatrix4MakeTranslation(slf->position.x, slf->position.y, slf->position.z);
 GLKMatrix4 rMat = GLKMatrix4MakeWithQuaternion(slf->orientation);
 GLKMatrix4 sMat = GLKMatrix4MakeScale(slf->scale.x, slf->scale.y, slf->scale.z);

 GLKMatrix4 mv = GLKMatrix4Multiply(tMat, GLKMatrix4Multiply(rMat, sMat));

 // mv = GLKMatrix4Translate(mv, slf->position.x, slf->position.y, slf->position.z);
// mv = GLKMatrix4Multiply(mv, rMat);
// mv = GLKMatrix4RotateWithVector3(mv, GLKQuaternionAngle(slf->orientation), GLKQuaternionAxis(slf->orientation));
// // mv = GLKMatrix4Rotate(mv, slf->rotation.w, slf->rotation.x, slf->rotation.y, slf->rotation.z);
// mv = GLKMatrix4Scale(mv, slf->scale.x, slf->scale.y, slf->scale.z);
 if (slf->parent) {
  mv = GLKMatrix4Multiply(Transform_GetMV(slf->parent), mv);
 }
 return mv;
}