2
我有一個lhs着色器,但碰巧有一個rhs投影矩陣,如何在它們之間進行轉換?從Qt的如何轉換lhs和rhs之間的opengl投影矩陣?
我有一個lhs着色器,但碰巧有一個rhs投影矩陣,如何在它們之間進行轉換?從Qt的如何轉換lhs和rhs之間的opengl投影矩陣?
代碼:
/*!
Flips between right-handed and left-handed coordinate systems
by multiplying the y and z co-ordinates by -1. This is normally
used to create a left-handed orthographic view without scaling
the viewport as ortho() does.
\sa ortho()
*/
void QMatrix4x4::flipCoordinates()
{
if (flagBits == Scale || flagBits == (Scale | Translation)) {
m[1][1] = -m[1][1];
m[2][2] = -m[2][2];
} else if (flagBits == Translation) {
m[1][1] = -m[1][1];
m[2][2] = -m[2][2];
flagBits |= Scale;
} else if (flagBits == Identity) {
m[1][1] = -1.0f;
m[2][2] = -1.0f;
flagBits = Scale;
} else {
m[1][0] = -m[1][0];
m[1][1] = -m[1][1];
m[1][2] = -m[1][2];
m[1][3] = -m[1][3];
m[2][0] = -m[2][0];
m[2][1] = -m[2][1];
m[2][2] = -m[2][2];
m[2][3] = -m[2][3];
flagBits = General;
}
}