【问题标题】:OpenGL glBegin ... glEnd [closed]OpenGL glBegin ... glEnd [关闭]
【发布时间】:2017-03-12 09:12:54
【问题描述】:

我想知道使用glBegin 之类的东西而不是 GLSL、VBO 和 VAO 等等会对我的游戏造成多大的影响。他们只是看起来如此难以实现我可以更轻松地完成的事情。我的选择会有什么影响?

【问题讨论】:

  • 我已经稍微编辑了你的问题。为了将来参考,Stack Overflow 非常严格——它有助于避免在您的问题中出现任何与主题无关的内容,例如咒骂甚至“谢谢”。这种严格性可能看起来很压抑,但它确实有助于鼓励更多有用的问题和答案,因此每个人最终都会受益。
  • 随着游戏和 OpenGL 的成熟,它往往不再是游戏开发者的工具,而是游戏引擎编写者的工具,而游戏开发者又会使用它。游戏复杂度在上升,而 OpenGL 抽象在下降,所以如果你想要制作游戏,也许你应该考虑使用更高级别的工具,例如 Ogre

标签: c++ opengl


【解决方案1】:

很糟糕。

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

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

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

一些有用的学习资料:

【讨论】:

  • 我想我将不得不忘记我所知道的并重新学习一切,对吧?
  • @NathanWride:别担心。这并不是一个很大的步骤。查看我添加的链接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多