OpenGL glBegin ... glEnd

时间:2013-01-13 04:06:06

标签: c++ opengl

我想知道使用glBegin而不是GLSL,VBO和VAO以及所有这些,我的游戏会受到多大影响。他们只是看起来如此困难和荒谬,以实现我能做的更容易。我的选择会产生什么影响?

1 个答案:

答案 0 :(得分:29)

严重。

不推荐使用glBegin()glEnd()的直接模式API,主要是出于性能原因。它并不真正支持数据并行性,并且在很大程度上依赖于每个顶点需要至少一个函数调用的CPU。这很快就会增加。

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

此外,学习新的API意味着您可以了解OpenGL的最新状态,并且应该在现实世界中使用。例如,如果您希望在游戏行业工作,那只是一种非常有用的知识。

一些有用的学习资料: