OpenGL glfwInit()自动执行?

时间:2015-08-21 21:07:06

标签: java opengl initialization lwjgl glfw

所以我正在观看关于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();
    }

}

1 个答案:

答案 0 :(得分:2)

glfwInit()这会调用该函数。

glfwInit() != GL_TRUE这会检查函数返回true,而不是它是否执行,它被执行。