LibGDX和LWGJL的区别

我一直在研究用Java开发一个小型游戏,因为我对它很熟悉,并且把游戏开发视为提高我的知识的好机会。 当我研究不同的图书馆和其他类似的东西时,我经常看到的两个资源是LibGDX和LWJGL。 但是,我仍然不确定两者之间的差异。 有人能够解释分歧在哪里,每个人的力量是什么。

LibGDX是基于LWGL的,它的好处是很多基本的东西已经写好了,你不需要编写它。 有些人喜欢自己写。 LibGDX通常用于手机游戏开发,但也可以在Windows,Mac和Html上使用。

最后一句话:对于初学者,我建议使用LibGDX,因为它更容易理解,而LWJGL对初学者来说非常复杂。

LWJGL是轻量级的Java游戏库。 这不是引擎。

LWJGL是一个Java库,能够跨平台访问在graphics(OpenGL),audio(OpenAL)和并行计算(OpenCL)应用程序开发中有用的stream行本机API。 这种访问直接,高性能,同时也包含在适合Java生态系统的types安全和用户友好的层中。

更多信息你可以在LWJGL网站find

LibGDX是基于LWJGL的java游戏开发框架。

Libgdx是一个Java游戏开发框架,提供了一个可在所有支持的平台上工作的统一API。

该框架为快速原型devise和快速迭代提供了一个环境。 每次更改代码后,您都可以在桌面上运行和debugging您的游戏,而不是在本机上运行Android / iOS / Javascript。 桌面JVMfunction(如代码热启动)可大大缩短您的迭代时间。

更多信息你可以在LibGDX网站find

LibGDX运行着现代标准的古老的OpenGL ES2.0。 它出于兼容性的原因:大多数移动设备不支持任何更高的标准。

OpenGL ES2.0类似于OpenGL 2.0,但有一些变化,并于2007年发布。另一方面,LWJGL支持最新最好的(OpenGL 4.5)以及下面的所有内容。 它还有OpenCL(GPU处理),OpenAL(3Daudio)和Vulkan(魔术司机和东西 )绑定。

但是必须说的是,LibGDX对字体和UI部件的支持总体上比LWJGL更好。

Tl'dr
LibGDX:较老的OpenGL版本(从2007年开始),速度较慢,缺lessfunction。 伟大的字体和UI支持。 LWJGL:最新最好的OpenGL规范,速度更快。 垃圾字体和UI支持。

LWJGL是一个低级框架,包括窗口创建,input处理和其他低级function。 Libgdx是一个全function的2D和3D游戏框架,建立在LWJGL之上。

使用LWJGl在屏幕上绘制三角形的典型工作stream程是:1-使用包含的GLFW3框架创建一个窗口。 2-使用GLFW附带的内置function创建一个Opengl上下文。 3-调用OpenGL并画出你的三角形。 每一步都需要大量的编码。

Libgdx的工作stream程是:1-使用提供的GUI工具设置项目。 2-建立和运行生成的项目,你有加载图像并显示它的示例代码。 在Libgdx中,所有低级别的东西都是为您处理的,您只需要担心devise和开发游戏。

如果您想尽快制作游戏,请使用JmonkeyEngine。 如果你需要的话(LWJGL路线)或者Libgdx的方式,引擎可以让你变得低级,但是包含GUI引擎。

如果你的目标是学习没有游戏开发怪癖的Java,那么就使用JavaFx或Java Canvas来推出你的游戏。 这将是最简单的方法,您将使用Java API而不是处理游戏开发的具体细节。

LWJGL只是C库OpenGL,Op​​enAL和OpenCL的封装。 它提供对C库提供的原始函数的访问。

以LWJGL为核心,LibGDX提供了一个框架。 它提供了一个gameloop,一个渲染系统,一个audio系统以及其他function。 LibGDX从你那里抽象出基本的LWJGL界面。 它提供了一个面向对象的包来制作游戏。