我一直在循环一个游戏实体列表,并调用一个使用: glBegin/glEnd的虚拟呈现fn。最近,我了解到顶点缓冲阵列是可行的(尤其是对于ios/Android系统)。
发布于 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“经常被过度使用。如果您可以使用简单的结构/数组来解决您的问题,并且代码将是可读的/易于维护的,那么就没有理由疯狂地为所有事物设计完整的对象层次结构。
https://stackoverflow.com/questions/18327120
复制相似问题