在 libgdx 的配置中,有一个 useGL30 布尔值。由于我从未使用过 OpenGL,因此我不确定该方法的作用。顺便说一句。我应该将其设置为 false 还是 true?哪个更适合我的游戏?
另一个答案非常广泛,但不幸的是在某些部分不正确。首先回答你的问题:
无论平台(桌面还是安卓),您都希望将config.useGL30成员设置为false。
你应该不设置config.useGL30成员true,除非你有一个实际需要使用的OpenGL ES 3.0的功能。在这种情况下(如果您需要使用 GLES3 功能),您将需要注意兼容性,即使在不需要该功能的地方也是如此。
简单设置config.useGL30到true会不会为你的游戏更好。事实上,它可能会引入问题。
澄清几点:
OpenGL并且OpenGL ES是两个不同的东西,版本无法比较。如果您真的要比较版本,那么 OpenGL ES 2.0 可以与 OpenGL 4.3(是其子集)进行比较,OpenGL ES 3.0 可以与 OpenGL 4.5(是其子集)进行比较。
在这方面的命名useGL30,Gdx.gl20,Gdx.gl30可以被认为是误导,因为20和30在命名实际上指的是OpenGLES版本,并没有对OpenGL的版本。更好的命名可能是useGLES30,Gdx.gles20和Gdx.gles30。
OpenGL ES 3.0并不完全向后兼容 OpenGL ES 2.0,桌面也是如此(通过 OpenGL 模拟 OpenGL ES)。尽管 API 本身是兼容的,但使用的着色器语言并非如此。因此,如果您设置config.useGL30为,true那么您的着色器将不再像您期望的那样工作的可能性很大。这包括 libgdx 附带的着色器(SpriteBatch、ShapeRenderer、ModelBatch 等)。
因此,useGL30仅在桌面项目中将成员设置为 true 是没有意义的,尤其是在您不对代码进行其他调整的情况下。
| 归档时间: |
|
| 查看次数: |
2625 次 |
| 最近记录: |