首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenGL与博弈实体

OpenGL与博弈实体
EN

Stack Overflow用户
提问于 2013-08-20 04:45:38
回答 1查看 901关注 0票数 3

我一直在循环一个游戏实体列表,并调用一个使用: glBegin/glEnd的虚拟呈现fn。最近,我了解到顶点缓冲阵列是可行的(尤其是对于ios/Android系统)。

  • 当我在世界上创建一个新的实体时,我只需要将实体的VAO绑定到VBO,设置它的VAO id。因此,如果我有N个实体,我有N个VAO/VBO's?
  • 在呈现函数上,我不需要重新绑定任何东西,只需要调用"glDrawArray/Element"?
  • 我可以同时使用glBegin/glEnd风格的OpenGL以及呈现fn中的VAO/VBO吗?
  • OpenGL似乎讨厌OOP,但我需要OOP来进行游戏编程.我该如何解决这个矛盾呢?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-20 05:07:17

因此,如果我有N个实体,我有N个VAO/VBO's?

在体面的游戏引擎中,如果有数千个具有相同几何形状的对象(例如,丢弃的子弹箱或其他东西),则只有一个实例(VAO/VBO/任何东西)将该几何/网格加载到游戏引擎中。对象和对象使用的网格是两种不同的东西。多个对象可以使用相同的网格实例。

我可以同时使用glBegin/glEnd风格的OpenGL以及呈现fn中的VAO/VBO吗?

是的,虽然有些人坚持认为OpenGL 3/4是可用的,但是您应该避免glBegin/glEnd和类似的旧风格函数。尽管如此,这还是取决于你。

OpenGL似乎讨厌OOP,但我需要OOP来进行游戏编程.我该如何解决这个矛盾呢?

从技术上讲,OpenGL使用的整数It是对象,对它们进行操作的函数是这些对象的方法。无论如何,将这些整数It封装到结构/类中并不难。

另一方面,您不必使用OOP。(意见)现在"OOP“经常被过度使用。如果您可以使用简单的结构/数组来解决您的问题,并且代码将是可读的/易于维护的,那么就没有理由疯狂地为所有事物设计完整的对象层次结构。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18327120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档