我正在使用LWJGL 3.0.0a开发游戏。那里的许多教程都使用lwjgl_util.jar
,其中包含诸如Vector2f
和GLU
之类的东西用于gluUnProject
之类的功能。
在此版本中(可在downloads page上获得),不再包含此类库。它仅包含核心lwjgl.jar
。这些实用程序哪里去了?
最佳答案
LWJGL 3专注于OpenGL绑定。在wiki上说明
该库包含根本不应该添加到其中的功能和API。此类功能属于使用LWJGL的引擎,或者属于另一个位于LWJGL顶部的库。该包括util软件包(vecmath,映射对象,图像/声音文件读取器等)以及与applet有关的所有内容。
因此,从本质上讲,这意味着至少在目前为止,核心库中没有任何Util软件包。
但是,有计划在实现其他核心功能(OpenGL ES绑定,Vulkan绑定等)时包括一个。
从roadmap:
[...]
[.x]官方实用程序库。
尽管LWJGL 3的重点是仅在核心库中包括非常轻量级的低级功能,但易于使用和吸引新手程序员也很重要。 当前的计划是开始一个同级项目,该项目将为LWJGL 3创建一个官方实用程序库。它将包括所有非必需的功能,可选功能以及帮助程序/便利程序。 它还可以包括与LWJGL 2 匹配的API,以方便移植现有代码。可能包含或可能不包含诸如vecmath和固定功能模拟之类的引擎级功能,具体取决于项目获得的支持量。另一个选择是创建“基于配置文件”的OpenGL类,例如GLCore类,仅包含从GL11到GL31的核心配置文件功能。
[...]
删除的功能
util软件包。
某些旧功能可能已添加到实用程序库中。
论坛上还启动了一个非正式的实用程序项目Java OpenGL Math Library (JOML)(Github page),但尚不清楚是否会继续下去。
编辑:截至2015年6月,JOML是LWJGL团队的推荐:blog entry。
编辑:截至2015年6月,LWJGL包含STB library。这为图像和字体加载提供了有用的实用程序功能。