Графика с lwjgl

0
21 фев 2016 14:09
Таки нашел уроки по lwjgl.
Написал код:

package pack1;

import org.lwjgl.LWJGLException;
import org.lwjgl.input.Keyboard;
import org.lwjgl.input.Mouse;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
import org.lwjgl.opengl.GL11;
  
public class QuadExample {
  
    public void start() {
        try {
        Display.setDisplayMode(new DisplayMode(800,600));
        Display.create();
    } catch (LWJGLException e) {
        e.printStackTrace();
        System.exit(0);
    }
  
    // init OpenGL
    GL11.glMatrixMode(GL11.GL_PROJECTION);
    GL11.glLoadIdentity();
    GL11.glOrtho(0, 800, 0, 600, 1, -1);
    GL11.glMatrixMode(GL11.GL_MODELVIEW);
  
    while (!Display.isCloseRequested()) {
        // Clear the screen and depth buffer
        GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);  
         
        // set the color of the quad (R,G,B,A)
        GL11.glColor3f(5,5,5); //red = 1, green = 0,blue = 0 
       
        int xsize;
        int ysize;
        xsize = 100;
        ysize = 100;
        
        // draw quad
        GL11.glBegin(GL11.GL_QUADS); // Начинаем рисовать квадрат
            GL11.glVertex2f(xsize,ysize);	//Левая верхняя точка квадрата
        GL11.glVertex2f(xsize+200,ysize);	 //Правая верхняя точка квадрата
        GL11.glVertex2f(xsize+200,ysize+200);	//Правая нижняя точка квадрата
        GL11.glVertex2f(xsize,ysize+200);	//Левая нижняя точка квадрата 
        GL11.glEnd(); // Заканчиваем рисовать квадрат
        
       
        
        while(Keyboard.next()) //Грубо говоря Keyboard.next() возвращает true, если поступает любого рода запрос с клавиатуры.
        {
        if(Keyboard.isKeyDown(Keyboard.KEY_SPACE)){
        	xsize = 200;
        	ysize = 200;
        }  
        } 
  
        Display.update();
    }
  
    Display.destroy();
    }
  
    public static void main(String[] argv) {
        QuadExample quadExample = new QuadExample();
        quadExample.start();
    }
}



По-идее он должен изменять координаты отрисовки квадратика по нажатию на пробел. но ничего не происходит...
что я сделал не так? Помогите.

Ответов: 2

1
27 фев 2016 12:11
Он меняет при нажатии на пробел. А на следующем цикле меняет их обратно на 100 еще перед отрисовкой. Это прямо в коде в 37-38 строках написано.
0
27 фев 2016 15:16
А как наложить изображение на квадрат? Или можно как-то просто вывести его на экран?
Модераторы: Нет
Сейчас эту тему просматривают: Нет