好吧,所以我开始通过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
答案 0 :(得分:1)
1)默认颜色为白色,但您在执行Display.update()之前正在清除颜色缓冲区 删除:
GL11.glClear(GL11.GL_COLOR_BUFFER_BIT);
2)你在6:50之前没有使用视频中的坐标。