2012-01-14 38 views
5

Tôi đang cố gắng lấy một hình tam giác đơn giản được vẽ trong Java bằng LWJGL.Hình tam giác LWJGL cơ bản w/OpenGL

Tôi đang cố gắng tạo hình tam giác đơn giản, mỗi hình có một góc của một màu cụ thể. Ngay bây giờ nó chỉ cho tôi một màn hình trống.

Đây là mã của tôi:

package com.ex; 

import org.lwjgl.LWJGLException; 
import org.lwjgl.opengl.Display; 
import org.lwjgl.opengl.DisplayMode; 
import org.lwjgl.opengl.GL11; 
import org.lwjgl.input.Keyboard; 

public class ColoredTriangle { 
    public void start() { 
     try { 
      Display.setDisplayMode(new DisplayMode(640, 480)); 
      Display.create(); 
     } catch (LWJGLException e) { 
      e.printStackTrace(); 
      System.exit(0); 
     } 

     // Init OpenGL 
     GL11.glMatrixMode(GL11.GL_PROJECTION); 
     GL11.glLoadIdentity(); 
     GL11.glOrtho(0, 640, 480, 0, 1, -1); 
     GL11.glMatrixMode(GL11.GL_MODELVIEW); 

     boolean quit = false; 

     while (!quit) {   
      // Clear the screen. 
      GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT); 

      // Begin drawing 
      GL11.glBegin(GL11.GL_TRIANGLES); 
       // Top & Red 
       GL11.glColor3f(1.0f, 0.0f, 0.0f); 
       GL11.glVertex2f(0.0f, 1.0f); 

       // Right & Green 
       GL11.glColor3f(0.0f, 1.0f, 0.0f); 
       GL11.glVertex2f(1.0f, 1.0f); 

       // Left & Blue 
       GL11.glColor3f(0.0f, 0.0f, 1.0f); 
       GL11.glVertex2f(1.0f, -1.0f); 
      GL11.glEnd(); 

      Display.update(); 

      if (Display.isCloseRequested() || Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) 
       quit = true; 
     } 

     Display.destroy(); 
    } 

    public static void main(String args[]) { 
     ColoredTriangle ct = new ColoredTriangle(); 
     ct.start(); 
    } 

} 

Trả lời

7

Nó được làm việc hoàn toàn tốt đẹp, nó chỉ là hình tam giác của bạn là 1 đơn vị cao và cửa sổ của bạn là cao 480 đơn vị, vì vậy nó chỉ xuất hiện như một pixel trong góc .

Nếu bạn thay thế GL11.glOrtho(0, 640, 480, 0, 1, -1); bằng GL11.glOrtho(-3.2, 3.2, -2.4, 2.4, -1, 1); thì bạn sẽ thấy mọi thứ đều ổn.

Các vấn đề liên quan