Проблемы с JOGL FPS с glDrawArrays - PullRequest
0 голосов
/ 05 марта 2020

Я пытался сделать некоторые 3D-вещи с помощью JOGL.

При рендеринге 2 2D-блоков в 3d-плоскости FPS может упасть до 15

, когда я подвожу камеру ближе. Я не знаю точно, что так сильно снижает производительность.

    float camX = (float) Main.cameraX;
    float camY = (float) Main.cameraY;
    float camZ = (float) Main.cameraZ;
    float camRotX = (float) Main.cameraRotX;
    float camRotY = (float) Main.cameraRotY;
    float camRotZ = (float) Main.cameraRotZ;

    gl.glRotatef(camRotX, 1, 0, 0);
    gl.glRotatef(camRotY, 0, 1, 0);
    gl.glRotatef(camRotZ, 0, 0, 1);

    gl.glTranslatef(x - camX, y - camY, z - camZ);

    gl.glVertexPointer(3, GL2.GL_FLOAT, 0, verticesBuffer);

    gl.glEnableClientState(GL2.GL_VERTEX_ARRAY);
    gl.glDrawArrays(GL2.GL_TRIANGLES, 0, vertices.length / 3);

    gl.glTranslatef(-x + camX, -y + camY, -z + camZ);

    gl.glRotatef(-camRotZ, 0, 0, 1);
    gl.glRotatef(-camRotY, 0, 1, 0);
    gl.glRotatef(-camRotX, 1, 0, 0);
...