小编Jac*_*ack的帖子

Lwjgl 3,如何在当前线程中获取OpenGL上下文当前?

我在LWJGL 3中使用OpenGL,我得到以下错误;

Exception in thread "main" java.lang.IllegalStateException: There is no OpenGL context current in the current thread. at org.lwjgl.opengl.GL.getCapabilities(GL.java:157) at org.lwjgl.opengl.GL11.getInstance(GL11.java:1390) at org.lwjgl.opengl.GL11.glClearColor(GL11.java:1842) at com.base.engine.RenderUtil.initGraphics(RenderUtil.java:13) at com.base.engine.Main.<init>(Main.java:14) at com.base.engine.Main.main(Main.java:24)

这是RenderUtil类,其中从我的主类的构造函数中调用initGraphics.在使用GLFW创建窗口后,我也尝试调用initGraphics,它也生成了类似的错误消息.

package com.base.engine;

import static org.lwjgl.opengl.GL11.*;
import static org.lwjgl.opengl.GL30.*;

public class RenderUtil {

    public static void clearScreen() {
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    }

    public static void initGraphics() {
        glClearColor(0.0f, 0.0f, 0.0f, 0.0f);

        glFrontFace(GL_CW);
        glCullFace(GL_BACK);
        glEnable(GL_CULL_FACE);
        glEnable(GL_DEPTH_TEST);

        glEnable(GL_FRAMEBUFFER_SRGB);
    }
}
Run Code Online (Sandbox Code Playgroud)

另外,我不使用多线程.要创建一个窗口,我Window.createWindow(1366, 768, "Test");从main方法中调用该方法.

    private static Long window;

    public static String createWindow(int …
Run Code Online (Sandbox Code Playgroud)

java opengl lwjgl

6
推荐指数
1
解决办法
9597
查看次数

标签 统计

java ×1

lwjgl ×1

opengl ×1