我正在使用LWJGL 3.0.0a开发游戏。那里的许多教程都使用lwjgl_util.jar,其中包含诸如Vector2fGLU之类的东西用于gluUnProject之类的功能。

在此版本中(可在downloads page上获得),不再包含此类库。它仅包含核心lwjgl.jar。这些实用程序哪里去了?

最佳答案

LWJGL 3专注于OpenGL绑定。在wiki上说明

该库包含根本不应该添加到其中的功能和API。此类功能属于使用LWJGL的引擎,或者属于另一个位于LWJGL顶部的库。该包括util软件包(vecmath,映射对象,图像/声音文件读取器等)以及与applet有关的所有内容。

因此,从本质上讲,这意味着至少在目前为止,核心库中没有任何Util软件包。
但是,有计划在实现其他核心功能(OpenGL ES绑定,Vulkan绑定等)时包括一个。
roadmap:

  • [.x] :在3.0之后可能会推迟到一个点发布。

  • [...]
    [.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。这为图像和字体加载提供了有用的实用程序功能。

    10-06 14:17
    查看更多