Esempio n. 1
0
void MA_BuildAxisRotation(idMat4& mat, float ang, int axis) {

    float sinAng = idMath::Sin(ang);
    float cosAng = idMath::Cos(ang);

    mat.Identity();
    switch(axis) {
    case 0: //x
        mat[1][1] = cosAng;
        mat[1][2] = sinAng;
        mat[2][1] = -sinAng;
        mat[2][2] = cosAng;
        break;
    case 1:	//y
        mat[0][0] = cosAng;
        mat[0][2] = -sinAng;
        mat[2][0] = sinAng;
        mat[2][2] = cosAng;
        break;
    case 2://z
        mat[0][0] = cosAng;
        mat[0][1] = sinAng;
        mat[1][0] = -sinAng;
        mat[1][1] = cosAng;
        break;
    }
}
Esempio n. 2
0
void MA_BuildScale( idMat4 &mat, float x, float y, float z )
{
	mat.Identity();
	mat[0][0] = x;
	mat[1][1] = y;
	mat[2][2] = z;
}