рисование игрока (простого прямоугольника) с помощью lwjgl ничего не дает

Итак, я хотел запрограммировать простую игру с помощью lwjgl, однако столкнулся с проблемой еще до фазы пре-пре-пре-альфа, в самом начале.

Поскольку у меня нет текстуры для него, я хотел нарисовать игрока, используя простой прямоугольник. Однако мой код ничего не делает.

вот мой код инициализации openGL:

glMatrixMode(GL_PROJECTION);
glOrtho(0, 640, 480, 0, 1, -1);
glMatrixMode(GL_MODELVIEW);
glEnable(GL_TEXTURE_2D);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

и вот основной цикл:

while(!Display.isCloseRequested()) {
            //Main loop
            glClear(GL_COLOR_BUFFER_BIT);

            player.update();

            Display.update();
            Display.sync(60);
        }
Display.destroy();
System.exit(0);

Функция player.update() проверяет ввод и вызывает функцию рисования, которая выглядит следующим образом:

public void draw() {
        glBegin(GL_QUADS);
            glVertex2f(x * World.TILE_SIZE, y * World.TILE_SIZE);
            glVertex2f(x * World.TILE_SIZE + World.TILE_SIZE, y * World.TILE_SIZE);
            glVertex2f(x * World.TILE_SIZE + World.TILE_SIZE, y * World.TILE_SIZE
                    + World.TILE_SIZE);
            glVertex2f(x * World.TILE_SIZE, y * World.TILE_SIZE + World.TILE_SIZE);
        glEnd();
}

Мне это кажется очень простым lwjgl-кодом, который должен работать без проблем, но это не так. При выполнении он просто дает мне черное окно без каких-либо нарисованных прямоугольников. Какие-либо предложения?

заранее спасибо

-v0xelDev


person v0xelDev    schedule 25.01.2015    source источник


Ответы (1)


Исправлена.

Нашел ответ здесь.

По-видимому, я не могу рисовать простые цветные фигуры с включенным GL_TEXTURE_2D, мой код инициализации openGL теперь выглядит так:

    glMatrixMode(GL_PROJECTION);
    glOrtho(0, 640, 480, 0, 1, -1);
    glMatrixMode(GL_MODELVIEW);
    glDisable(GL_TEXTURE_2D);
    //glEnable(GL_BLEND);
    //glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
person v0xelDev    schedule 25.01.2015