我想知道我的游戏会因为使用glBegin
GLSL、VBO 和 VAO 等等而受到影响的严重程度。他们只是看起来如此困难和荒谬,以实现我可以更轻松地做的事情。我的选择会产生什么影响?
问问题
16230 次
1 回答
37
很糟糕。
主要是出于性能原因,不推荐使用带有glBegin()
和的直接模式 API 。glEnd()
它并不真正支持数据并行性,并且严重依赖 CPU——每个顶点至少需要一个函数调用。这加起来很快。
在小型项目中使用直接模式 API 可能更简单、更愉快,但在性能和可维护性方面,使用 VBO 可以更好地扩展。管理数据比管理状态容易得多。
此外,学习新的 API 意味着您了解 OpenGL 在现实世界中的使用方式和应该如何使用的最新信息。例如,如果您想在游戏行业工作,那只是非常有用的知识。
一些有用的学习资料:
适用于 OpenGL ≥3.3 的OpenGL 教程
于 2013-01-13T04:18:58.480 回答