我知道LWJGL只是OpenGL的包装器。它是一个java库,旨在使用java语言中的低级OpenGL函数。
据我所知,GLFW只是一个库,它可以创建更好的窗口来显示图形。所以GLFW只是一个比LWJGL更好地创建窗口的库。
GLFW不是用于创建图形,而是用于创建显示吗?而且GLFW并不是单独使用的,您仍然应该使用LWJGL库来访问OpenGL函数来创建图形吗?
有人能解释我为什么要用GLFW吗?LWJGL3和GLFW之间似乎有某种联系,但它们之间有什么关系呢?
发布于 2016-03-28 16:02:21
GLFW不是用于创建图形,而是用于创建显示吗?而且GLFW并不是单独使用的,您仍然应该使用LWJGL库来访问OpenGL函数来创建图形吗?
是。
有人能解释我为什么要用GLFW吗?LWJGL3和GLFW之间似乎有某种联系,但它们之间有什么关系呢?
主要原因是很难让Java的窗口API-s与OpenGL进行互操作。甚至当你让他们在一起的时候,这样做也会有很大的表现上的损失。
另一方面,GLFW只不过是您环境的本地窗口API的包装器,无论是Windows、MacOS还是Linux。表面上,这是Java的AWT所应该做的,但同样: AWT和Swing存在性能问题,GLFW没有。
LWJGL是GLFW的包装器,也是更广泛的OpenGL API的包装器,包括通常需要在C/C++中手动加载的函数(通常通过所谓的GLEW或OpenGL扩展wrangler)。除了GLFW必须加载一些特定的OpenGL函数以确保它能够正确设置框架缓冲区和接受来自OpenGL的输入(并且在与各种OpenGL扩展接口时行为也正确)之外,它们之间不一定有什么关系,但除此之外,它们本质上是独立的。
https://stackoverflow.com/questions/36265609
复制相似问题