所以我正在观看关于LWJGL3的本教程系列,当OpenGL应该在init函数中初始化时,它不会执行函数本身。
所以这里检查glfwInit()是否执行,如果没有,则会输出out错误代码。但是glfwInit()实际上是如何执行的?
我不在任何地方打电话,怎么样?
public void init() {
if(glfwInit() != GL_TRUE){
System.err.println("Failed to initilaize OpenGL");
}
}
以下完整代码
import static org.lwjgl.glfw.GLFW.*;
import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.system.MemoryUtil.*;
import java.nio.ByteBuffer;
import org.lwjgl.glfw.GLFWvidmode;
public class Driver implements Runnable {
private Thread thread = new Thread();
private boolean running = false;
public Driver() {
}
private synchronized void start() {
thread.start();
running = true;
}
private synchronized void stop() {
try {
thread.join();
running = false;
} catch(InterruptedException e) {
e.printStackTrace();
}
}
public void run() {
init();
while (running) {
System.out.println("The game is running...");
render();
update();
}
}
public void update() {
}
public void render() {
}
public void init() {
if (glfwInit() != GL_TRUE) {
System.err.println("Failed to initilaize OpenGL");
}
}
public static void main(String[] args) {
Driver game = new Driver();
game.start();
game.run();
}
}
答案 0 :(得分:2)
glfwInit()
这会调用该函数。
glfwInit() != GL_TRUE
这会检查函数返回true,而不是它是否执行,它被执行。