我正在关注youtube上的教程,但是OpenGL存在我无法解决的问题。我不知道该如何解决。
Exception in thread "EndlessRunner" java.lang.IllegalStateException: No OpenGL context is current in the current thread.
at org.lwjgl.opengl.GLContextWindows.createFromCurrent(GLContextWindows.java:61)
at org.lwjgl.opengl.GLContext.createFromCurrent(GLContext.java:36)
at net.alfredo.Main.init(Main.java:59)
at net.alfredo.Main.run(Main.java:91)
at java.lang.Thread.run(Unknown Source)
主要
package net.alfredo;
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.GLFWKeyCallback;
import org.lwjgl.glfw.GLFWvidmode;
import org.lwjgl.opengl.GLContext;
import Input.Input;
public class Main implements Runnable {
private Thread thread;
public boolean running = true;
private GLFWKeyCallback keyCallback;
public Long window;
public static void main(String args[]) {
Main game = new Main();
game.start();
}
public void start(){
running = true;
thread = new Thread(this, "EndlessRunner");
thread.start();
}
public void init(){
if(glfwInit() != GL_TRUE){
System.err.println("La inicializacion de GLWF fallo!");
}
glfwWindowHint(GLFW_RESIZABLE, GL_TRUE);
window = glfwCreateWindow(800, 600, "Cuboid MMORPG", NULL, NULL);
if(window == NULL){
System.err.println("No se pudo crear la ventana!");
}
glfwSetKeyCallback(window, keyCallback = new Input());
ByteBuffer vidmode = glfwGetVideoMode(glfwGetPrimaryMonitor());
glfwSetWindowPos(window, 100, 100);
glfwShowWindow(window);
GLContext.createFromCurrent();
glClearColor(0.56f , 0.250f, 0.425f, 1.0f);
glEnable(GL_DEPTH_TEST);
System.out.println("OpenGL: " + glGetString(GL_VERSION));
}
public void update(){
glfwPollEvents();
if(Input.keys[GLFW_KEY_SPACE]){
System.out.println("Has precionado la tecla Espacio!");
}
}
public void render(){
glfwSwapBuffers(window);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
}
@Override
public void run() {
init();
while(running){
update();
render();
if (glfwWindowShouldClose(window) == GL_TRUE){
running = false;
}
}
keyCallback.release();
}
}
您需要调用glfwMakeContextCurrent将OpenGL上下文绑定到您的线程。LWJGL网站上也有一个工作示例。
我正在使用入门示例(来自https://www.lwjgl.org/guide{which unchanged works fine}),但将其更改为使用OpenGL ES 3.0(出于与此问题无关的原因)。 我正在使用最新的LWJGL版本3.1.1,选择最小的OpenGL ES作为我的预设(从https://www.lwjgl.org/download)以及使用windows本机。(我正在运行W
我在LWJGL 3中使用OpenGL,我得到以下错误; 这是RenderUtil类,initGraphics是从我的主类的构造函数中调用的。在使用GLFW创建了一个窗口后,我还尝试调用initGraphics,该窗口也生成了类似的错误消息。 另外,我没有使用多线程。要创建一个窗口,我调用方法from my main method."
我想用。tmx文件作为TileMap 这是我的主要课程: 在intellij中编译程序时,我遇到了以下问题: 2017年6月20日星期二23:37:23 IRDT错误:在当前线程中未找到OpenGL上下文。JAVAlang.RuntimeException:在当前线程中找不到OpenGL上下文。在org。lwjgl。opengl。背景。getCapabilities(GLContext.java:
问题内容: 我正在使用一个有趣的世界编辑器,并使用Java和JLWGL。到目前为止一切正常。现在,我尝试创建一个窗口,可以在其中添加要使用的地形或新模型。问题是,当我尝试从主界面创建地形并创建并显示该地形时,但是当我尝试通过按钮事件监听器调用该地形时,出现错误: 在当前线程中未找到OpenGL上下文。 我基本上知道为什么会得到错误。我用来获取输入并单击按钮的框架没有opengl上下文。 现在的问题
我正在使用Java和JLWGL开发一个有趣的世界编辑器。到目前为止,一切正常。现在我试着创建一个窗口,在那里我可以添加一个地形或一个新模型来使用。问题是,当我尝试从主线程创建地形时,它被创建并显示,但当我尝试通过按钮eventlistener调用它时,我得到了一个错误:在当前线程中找不到OpenGL上下文。我基本上知道我为什么会出错。我用来获取输入并单击按钮的框架没有opengl上下文。 我现在的
问题内容: 我正在玩纸牌游戏,目前拥有良好的基础,但是在eclipse中运行它时遇到了错误。我也使用光滑的2d。 这是来自控制台的错误。 线程“主”中的异常java.lang.RuntimeException:在当前线程中找不到OpenGL上下文。在org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)在org.lwjgl.op