当前位置: 首页 > 知识库问答 >
问题:

LWJGL-调用了当前上下文中不可用的函数

邹麻雀
2023-03-14

我刚刚开始使用LWJGL和OpenGL,我遇到了一个问题。我正试图弄清楚如何为我正在使用我找到的游戏引擎制作的游戏绘制一条简单的线。

这是指向我使用的引擎的链接:https://github.com/SilverTiger/SilenceEngine

在渲染器类中,我尝试添加这个函数-

 public void drawLine(Point point, Point point2) {

        GL11.glColor3f(0.0f, 1.0f, 0.2f);
        GL11.glBegin(GL11.GL_LINES);
        GL11.glVertex2d(point.x, point.y);
        GL11.glVertex2d(point2.x, point2.y);
        GL11.glEnd();

 }

我得到的错误如下:

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007fff32b524cd, pid=3016, tid=0x0000000000002548
#
# JRE version: Java(TM) SE Runtime Environment (8.0_131-b11) (build 1.8.0_131-b11)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.131-b11 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [lwjgl.dll+0x124cd]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\Users\sambu\workspace\NextGen Engine - 0.3.1\hs_err_pid3016.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
[LWJGL] A function that is not available in the current context was called. The JVM will abort execution. Inspect the crash log to find the responsible Java frames.

我对这个很陌生,不知道如何解决这个问题。

共有1个答案

郑锋
2023-03-14

在引擎中创建的窗口具有版本3.2的OpenGL上下文。在版本3.2中,您不能调用旧的基本绘图调用。所有绘制调用都需要使用顶点数组和缓冲区来完成。这里有一个关于如何做到这一点的教程(请记住,这是用C编写的):绘制第一个三角形。这里是引擎的入门论坛(称为新手问题)。论坛

 类似资料:
  • 我正在使用入门示例(来自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

  • 我有一个接口服务,它有一个方法GoTo 我有一个A类,如下所示 } 我得到一个错误,说关键字“this”在当前上下文中不可用。我看过一个字段初始值设定项不能引用非静态字段、方法或属性,我可以看到错误是由于变量没有在构造函数中初始化,但在我的情况下,我这样做了。如果能帮助理解这一点,我将不胜感激?

  • 我在LWJGL 3中使用OpenGL,我得到以下错误; 这是RenderUtil类,initGraphics是从我的主类的构造函数中调用的。在使用GLFW创建了一个窗口后,我还尝试调用initGraphics,该窗口也生成了类似的错误消息。 另外,我没有使用多线程。要创建一个窗口,我调用方法from my main method."

  • 所有,glGenVertexArray()有困难。我得到以下错误: oop.java:27Checks.checkorg.lwjgl.opengl.GL30.get实例(GL30.java:667)org.lwjgl.opengl.GL30.get实例(GL30.java:662)org.lwjgl.opengl.GL30.nglGenVertexArray(GL30.java:2789)org.

  • 问题内容: 以上是我的bean配置,为什么在运行应用程序时出现错误。我的日志文件夹为空… 但是我已经将spring-web-mvc添加到确实包含此类文件的类路径中。 问题答案: 但是我已经将spring-web-mvc添加到确实包含此类文件的类路径中。 您如何向CLASSPATH添加内容? 如果要创建Web应用程序,则唯一合适的方法是将.class文件放在WEB-INF / classes下,并将