我想知道使用glBegin
而不是GLSL,VBO和VAO以及所有这些,我的游戏会受到多大影响。他们只是看起来如此困难和荒谬,以实现我能做的更容易。我的选择会产生什么影响?
答案 0 :(得分:29)
严重。
不推荐使用glBegin()
和glEnd()
的直接模式API,主要是出于性能原因。它并不真正支持数据并行性,并且在很大程度上依赖于每个顶点需要至少一个函数调用的CPU。这很快就会增加。
在小型项目中使用直接模式API可能更简单,更愉快,但在性能和可维护性方面,使用VBO可以更好地扩展。管理数据要比管理状态容易得多。
此外,学习新的API意味着您可以了解OpenGL的最新状态,并且应该在现实世界中使用。例如,如果您希望在游戏行业工作,那只是一种非常有用的知识。
一些有用的学习资料: