如何修改默认绘图颜色lwjgl

时间:2012-12-22 19:13:41

标签: java graphics 2d lwjgl

好吧,所以我开始通过TheCodingUniverse的一些教程开始学习LWJGL,但是我已经在一条线和四边形的墙上碰到了。

代码

package LWJGL_Learn;

import static org.lwjgl.opengl.GL11.*;
import org.lwjgl.opengl.*;
import org.lwjgl.*;

public class SimpleOGLRenderer {

    public SimpleOGLRenderer() {
        try {
            Display.setDisplayMode(new DisplayMode(640, 480));
            Display.setTitle("SimpleOGLRenderer");
            //Display.setInitialBackground(256, 256, 256);
            Display.create();
        } catch (LWJGLException e) {
            e.printStackTrace();
        }

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

        while (!Display.isCloseRequested()) {

            //Render Code'
            glBegin(GL_QUADS);
                glVertex2i(50, 50);
                glVertex2i(80, 70);
                glVertex2i(80, 130);
                glVertex2i(50, 300);
            glEnd();

            glBegin(GL_LINES);
                glVertex2i(100, 100);
                glVertex2i(200, 200);
            glEnd();

            GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
            Display.update();
            Display.sync(60);
        }
        Display.destroy();
        System.exit(0);
    }
    public static void main(String[] args) {
        new SimpleOGLRenderer();
    }
}

请参阅this video中的大约6:50分钟,看看代码应该是什么,以及它应该做什么。

无论如何,问题在于没有线条或四边形出现。屏幕保持黑色。现在,我可能是因为黑色线条被绘制在黑色显示屏上,所以我修改了背景颜色(注释掉的线条,如.setInitialDisplay ......),但没有结果。颜色改变了,但屏幕保持白色,没有出现任何线条。你们中的任何人都知道我做错了吗?

-pipsqueaker117

1 个答案:

答案 0 :(得分:1)

1)默认颜色为白色,但您在执行Display.update()之前正在清除颜色缓冲区 删除:

  

GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);

2)你在6:50之前没有使用视频中的坐标。