Применение матричных преобразований к BoundingBox

У меня есть модельная матрица, которую я отслеживаю для позиции сетки в моем мире. При каждом вызове glRotate() и glTranslate() меня есть соответствующий вызов modelMatrix.rotate() и modelMatrix.translate() который работает корректно.

Теперь мне нужно обновить ограничительную рамку, связанную с каждой из моих моделей. Я работаю в рамках libGDX и в классе BoundingBox найденном здесь , существует метод mul() который должен позволить мне применить матрицу к ограничивающей рамке, но значения не обновляются правильно, и я думаю, что это может быть Я пытаюсь применить его. Есть идеи?

Вот мой соответствующий код:

 gl.glPushMatrix(); // Set the model matrix to the identity matrix modelMatrix.idt(); // Update the orbit value of this model orbit = (orbit + ORBIT_SPEED * delta) % 360; gl.glRotatef(orbit, 1.0f, 1.0f, 0); // Update the model matrix rotation modelMatrix.rotate(1.0f, 1.0f, 0, orbit); // Move the model to it's specified radius gl.glTranslatef(0, 0, -ORBIT_DISTANCE); // Update the model matrix translation modelMatrix.translate(0, 0, -ORBIT_DISTANCE); // Update the bounding box boundingBox.mul(modelMatrix); if (GameState.DEBUG) { renderBoundingBox(gl, delta); } // Bind the texture and draw texture.bind(); mesh.render(GL10.GL_TRIANGLES); gl.glPopMatrix(); 

Важен порядок вычисления матрицы. Можете ли вы сделать ModelMatrix * Box вместо этого. Думаю, в этом и проблема.