我想尝试LWJGL。我使用了教程形式LWJGL-Wiki,但我的代码仍然会产生黑屏。
import static org.lwjgl.opengl.GL11.*;
import org.lwjgl.LWJGLException;
import org.lwjgl.opengl.Display;
import org.lwjgl.opengl.DisplayMode;
public class SimpleOGLRenderer {
public void start() {
try {
Display.setDisplayMode(new DisplayMode(800, 600));
Display.setTitle("Sandbox");
Display.create();
} catch (LWJGLException e) {
e.printStackTrace();
System.exit(0);
}
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0f, 800f, 600f, 0.0f, -1.0f, 1.0f);
glMatrixMode(GL_MODELVIEW);
while (!Display.isCloseRequested()) {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glVertex2i(400, 400);
glVertex2i(500, 400);
glVertex2i(500, 500);
glVertex2i(400, 500);
glEnd();
glBegin(GL_LINES);
glVertex2i(100, 100);
glVertex2i(200, 200);
glEnd();
Display.update();
Display.sync(60);
}
Display.destroy();
}
public static void main(String[] args) {
SimpleOGLRenderer s = new SimpleOGLRenderer();
s.start();
}
}
运行设置中的调试器
-Dorg.lwjgl.util.Debug=true
显示
[LWJGL] Initial mode: 1920 x 1200 x 32 @60Hz
[LWJGL] MemoryUtil Accessor: AccessorUnsafe
我不知道出了什么问题,并且所有关于更改颜色(LWJGL - Black screen)清除屏幕(LWJGL OpenGL Black Screen)的提示都无效。
我使用带有GeForece 8600M GT,Windows 7,64位和DirectX v11的戴尔Insipron 1720。
你能找到我的错误吗?