So I have an objected loaded into a VBO, and am trying to put said object in multiple places in my scene, each with it’s own orientation in the world space defined by (up, right, and forward) normal vectors.
NOTE: For the moment I’ve broken the translation step out into a seperate glTranslated call while I isolate the problem.
My fairly loose undertanding of this is that I should be able to get the oppropriate rotation from the object by calling glLoadMatrixd() pssing in the matrix:
right.x, up.x, forward.x, 0
right.y, up.y, forward.y, 0
right.z, up.z, forward.z, 0
0, 0, 0, 1
However, when I perform the above steps the object that is on the screen with an incorrect orientation (before the rotation is applied) is no longer displayed once I start calling glLoadMatrixd.
Is the process I’m attempting correct? Which would indicate the problem is with the math. Or is there a fundamenal problem with the approach I’m taking?