我今天下载了LWJGL 3,发现它几乎完全被重写了。我查了一个关于如何创建窗口的教程,但是我仍然在创建窗口时遇到了问题。
代码运行没有问题:控制台中没有错误,但窗口没有显示!
我希望你能帮助我,我搜索了很多LWJGL 3教程,但它们看起来很旧了,所以我决定在这里提出我的问题。
这是我的代码:
//编辑:改变了我的代码,所以一切都在一个线程中运行,但它仍然不起作用。甚至System.out.println()也不起作用。没有显示控制台输出!
//重要提示:我刚刚意识到这可能是GLFW中的一个错误(我在Linux上工作)!
package net.newworld.test;
import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*;
import org.lwjgl.Version;
import org.lwjgl.glfw.GLFWVidMode;
public class Main {
private static long window;
private static int width = 1280;
private static int height = 800;
private static void init() {
glfwInit();
System.out.println("Initializing LWJGL...");
System.out.println("LWJGL Version: "+ Version.getVersion());
glfwWindowHint(GLFW_VISIBLE, GL_FALSE); //Set window visible after creation
window = glfwCreateWindow(width, height, "New World", 0, 0);
GLFWVidMode vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor()); //Get primary monitor
glfwSetWindowPos(window, (vidmode.width() - width) / 2, (vidmode.height() - height) / 2); //Set window position
glfwMakeContextCurrent(window); //Make OpenGL contect current
glfwShowWindow(window); //Show window
}
public static void main(String[] args) {
init();
}
}
答案 0 :(得分:0)
问题可能是您忘记添加窗口proc循环(正在阻止)
public static void main(String[] args) {
init();
while (!glfwWindowShouldClose(window)) {
glfwWaitEvents();
}
}