И така, исках да програмирам проста игра, използвайки 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() проверява за Input и извиква функцията draw, която изглежда така:
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