15

我想知道我的游戏会因为使用glBeginGLSL、VBO 和 VAO 等等而受到影响的严重程度。他们只是看起来如此困难和荒谬,以实现我可以更轻松地做的事情。我的选择会产生什么影响?

4

1 回答 1

37

很糟糕。

主要是出于性能原因,不推荐使用带有glBegin()和的直接模式 API 。glEnd()它并不真正支持数据并行性,并且严重依赖 CPU——每个顶点至少需要一个函数调用。这加起来很快。

在小型项目中使用直接模式 API 可能更简单、更愉快,但在性能和可维护性方面,使用 VBO 可以更好地扩展。管理数据比管理状态容易得多。

此外,学习新的 API 意味着您了解 OpenGL 在现实世界中的使用方式和应该如何使用的最新信息。例如,如果您想在游戏行业工作,那只是非常有用的知识。

一些有用的学习资料:

于 2013-01-13T04:18:58.480 回答