0
约一半的网格使用三角形,另一半使用三角形网格。 我想卸载这些到一个顶点缓冲区对象,但我不太清楚如何做到这一点。三角形球迷都有不同的顶点数...例如,一个可能有5个和另一个7.使用顶点缓冲对象渲染不同的三角形类型和三角形扇形? (OpenGL)
VBO的使用普通三角形是相当直接,但我不知道如何使用它们与三角形粉丝或用不同的三角形类型。我很确定我需要一个索引缓冲区,但我不太清楚我需要做什么。
我知道在运行时有多少个顶点组成每个风扇......我想我可以用它来调用类似glArrayElement
这里任何帮助,将不胜感激!
Bahbar,谢谢你的提示!我读过关于将粉丝转化为三角形的方法......但是我可能会有20万个三角粉丝的基元。当然,我只需要这样做一次,所以你认为转换它们然后做glDrawArrays或者我应该为每个prim调用它会更便宜吗?谢谢 – Polaris878 2009-10-15 20:41:06
好吧,如果你有200K三角迷,那么你有多少**每帧**。考虑将风扇转换为三角形所需的一些加载时间(或更好的离线处理时间)的成本。太阳提出了一个扩展,因为这是10年前*的开销太多。天花板/杂色的工作比例只是增加。 http://www.opengl.org/registry/specs/SUN/triangle_list.txt – Bahbar 2009-10-16 06:55:48
为了完整,我应该补充说[原始重启](http://www.opengl.org/registry/specs/NV/ primitive_restart.txt)是一个你可以使用的扩展(但需要索引你的基元,你应该看看)。 [glMultiDrawArrays](http://www.opengl.org/sdk/docs/man/xhtml/glMultiDrawArrays.xml)是减少开销的另一种尝试,但很少在驱动程序中实际优化。 – Bahbar 2009-10-16 07:07:36