首页 > 解决方案 > OpenGL(LWJGL)围绕固定点旋转对象

问题描述

我正在使用 LWJGL OpenGL 编写游戏,我使用变换矩阵围绕模型原点旋转对象:

public static Matrix4f createTransformationMatrix(Vector3f translation, float rx, float ry, float rz, Vector3f scale) {

    Matrix4f matrix = new Matrix4f();
    matrix.setIdentity();
    Matrix4f.translate(translation, matrix, matrix);
    Matrix4f.rotate((float) Math.toRadians(ry), new Vector3f(0, 1, 0), matrix, matrix);
    Matrix4f.rotate((float) Math.toRadians(rz), new Vector3f(0, 0, 1), matrix, matrix);
    Matrix4f.rotate((float) Math.toRadians(rx), new Vector3f(1, 0, 0), matrix, matrix);
    Matrix4f.scale(scale, matrix, matrix);

    return matrix;
}

但是,我希望围绕另一个对象的原点旋转一个对象,而不是它自己的原点。请帮忙?谢谢

标签: openglmatrixgame-enginelwjgl

解决方案


推荐阅读