每当我运行此程序时,都会弹出窗口,并且看到此内容。
(When I run the game, I see this)
如果您仅创建一个新的Java项目,导入OpenGL,GLFW和LWJGL以及本机,然后复制代码(删除程序包),则可以重新创建此代码。
import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*;
import org.lwjgl.opengl.GL;
public class Game {
public static void main (String[] args) {
if(glfwInit() != true) {
System.err.println("GLFW Failed to initialize!");
System.exit(1);
}
long window = glfwCreateWindow(640,480,"Game", 0, 0);
glfwShowWindow(window);
glfwMakeContextCurrent(window);
GL.createCapabilities();
while(!glfwWindowShouldClose(window)) {
glfwPollEvents();
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_QUADS);
glVertex2d(-0.5,0.5);
glVertex2d(0.5,0.5);
glVertex2d(-0.5,-0.5);
glVertex2d(0.5,-0.5);
glEnd();
glfwSwapBuffers(window);
}
glfwTerminate();
}
}
最佳答案
您以错误的顺序绘制了四边形的顶点。尝试
glVertex2d(0.5,0.5);
glVertex2d(-0.5,0.5);
glVertex2d(-0.5,-0.5);
glVertex2d(0.5,-0.5);
您通常以逆时针方向绘制一个面对您的四边形(或三角形)(称为“绕组”),以顺时针方向绘制一个背对您的正方形。在您的情况下,您将它们绘制为好像是字母“ Z”一样无效。