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

GLFW是设计来使用没有LWJGL(在java)?

管杜吟
2023-03-14

我知道LWJGL只是OpenGL的包装。它是一个java库,旨在使用java语言中较低级别的OpenGL函数。

据我所知,GLFW只是一个库,它可以创建更好的窗口来显示图形。因此,GLFW只是一个用于以比LWJGL更好的方式创建窗口的库。

GLFW不是用于创建图形,只是用于创建显示,这是真的吗?GLFW不是单独使用的,你还是应该使用LWJGL库来访问OpenGL函数来创建图形?

有人能解释为什么我会使用GLFW吗?LWJGL3和GLFW之间似乎有关系,但这两者之间又有什么关系呢?

共有1个答案

端木明贤
2023-03-14

GLFW不是用于创建图形,只是用于创建显示,这是真的吗?GLFW不是单独使用的,你还是应该使用LWJGL库来访问OpenGL函数来创建图形?

有人能解释为什么我会使用GLFW吗?LWJGL3和GLFW之间似乎有关系,但这两者之间又有什么关系呢?

主要原因是,很难*让Java的窗口API[-s]与OpenGL互操作。即使你真的让他们一起行动,这样做也会带来严重的性能损失。

另一方面,GLFW只不过是您环境的本机WindowingAPI的包装器,无论是Windows、MacOS还是Linux。表面上这是Java的AWT API应该是什么,但同样:AWT和Swing有性能问题,GLFW没有。

LWJGL是GLFW的包装器,也是更广泛的OpenGL API的包装器,包括通常必须在C/C中手动加载的函数(通常通过所谓的GLEW或OpenGL扩展包装器)。它们之间不一定有关系,除了GLFW必须加载一些特定的OpenGL函数,以确保它可以正确设置帧缓冲区并从OpenGL获取输入(并且在与各种OpenGL扩展接口时也可以正确操作),但除此之外,两者本质上是独立的。

 类似资料:
  • 问题是:如果在0帧中我按箭头键,计数变量被添加,但在下一帧中该键仍然被按下,所以它被再次添加。我不知道如何解决这个问题,我试图将GLFW_PRESS更改为GLFW_RELEASE,但我希望操作发生在按下键时。 我知道这段代码会引发数组索引越界异常

  • 在我将所有本机库链接到每个引用库并按照http://ninjacave.com/lwjglwitheclipse的说明操作之后,该错误仍然存在

  • null 附注:请告诉我,这是不是更好地在StackOverflow而不是这里问。

  • 我正在尝试使用GLFW创建一个窗口。窗口已创建,但经过几次尝试,创建窗口需要很长时间。 https://drive.google.com/file/d/1zq4IEjcSIJxy5wnXWLrGe46ptHMbKM5R/view?usp=sharing 我找不到任何解决办法,也不知道这是由什么引起的。 这是我正在使用的代码: 程序输出为 所以看起来初始化glfw需要很长时间,但我不知道如何修复它。

  • 我不熟悉使用LWJGL(一般来说Java也是如此),因此,我阅读了他们关于入门的页面,他们提供了一个Hello World程序示例。我自己尝试运行它,发现它出现以下错误:<代码>2020-03-18 10:20:02.145 java[19779:1119716]***由于未捕获的异常“nSinternalinconsistenceexception”而终止应用程序,原因:“[NSUndoMana

  • 问题内容: 请注意,这与该问题不同,因为它不处理链接,因为它不是在询问如何通过CLI进行链接,而是询问Eclipse中的GUI。 我一直在尝试使用LWJGL编写一个简单的程序。当我将库添加到Eclipse(在Windows 7 64bit上为Kepler 4.3.1)并编写程序时,在使用LWJGL的情况下,它不会显示红色弯曲。但是,尝试运行它会为我提供以下堆栈跟踪: (是的,这是他们首先给出的示例