19.5 C
Brasília
segunda-feira, dezembro 23, 2024

opengl – Problemas de rotação de LWJGL e JOML


Estou fazendo um construtor de cena em LWJGL. Objetos na cena têm posições e rotações. Como a maioria dos construtores/modeladores de cena, tenho alças de cores para mostrar a orientação dos objetos. Tenho uma configuração típica, pontos vermelhos na direção positiva x, azuis na direção positiva z.

O problema é que as alças não apontam na direção correta. Anexei uma captura de tela mostrando o problema. O cubo à direita tem uma rotação de 0, 0, 0e as alças estão corretas. O cubo da esquerda tem uma rotação de 0, 30, 0. O que me deixa confuso é por que a alça azul está girada 30 graus no sentido horário e a malha está 30 graus no sentido ANTI-horário?

insira a descrição da imagem aqui

Eu calculo a rotação do cubo com

public Matrix4f getLocalMatrix() {
    // I replace the place, rotation and scale immediately, so I recalculate the matrix each time.
    return this.localMatrix.translationRotateScale(this.place, this.rotation, this.scale);
}

E para desenhar as alças eu uso

Matrix4f m = gameObject.getLocalMatrix();
gizmos.drawRay(gameObject.place, m.positiveZ(new Vector3f()));

...

public void drawRay(Vector3f begin, Vector3f course) {
    glBegin(GL_LINES);
    glVertex3f(begin.x, begin.y, begin.z);
    glVertex3f(begin.x + course.x, begin.y + course.y, begin.z + course.z);
    glEnd();
}

Eu uso um shader de vértice simples, não acho que esse seja o problema,

structure (location=0) in vec3 inPosition;
structure (location=1) in vec2 texCoord;

out vec2 outTextCoord;

uniform mat4 projectionMatrix;
uniform mat4 viewMatrix;
uniform mat4 modelMatrix;

void principal() {
    gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(inPosition, 1.0);
    outTextCoord = texCoord;
}

Os uniformes estão sendo montados corretamente (presumo eu). modelMatrix está configurado para gameObject.getLocalMatrix());

A única coisa que consigo pensar é que parte do meu código está usando coordenadas para destros e parte para canhotos?

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Stay Connected

0FansLike
0FollowersFollow
0SubscribersSubscribe
- Advertisement -spot_img

Latest Articles