如果我有两个不同的基元类型,它们是根据用户输入动态绘制的,我应该使用两个单独的VBO,还是有一种方法可以使用一个并以某种方式识别不同基元顶点的开始和结束位置?
基元类型是三角形条带和点
发布于 2012-12-23 01:03:11
这两种方法都有效。如果使用VBO,则gl…Pointer函数的data参数被解释为VBO中的数字字节偏移量。将几个批次的顶点属性放入一个VBO中,并通过偏移量将OpenGL指向VBO中的部分是完全可能的。
因此,在每次glDraw…调用之前,请使用正确的gl…Pointer调用来设置正确的偏移量。或者更好(如果支持的话,也就是你有了一个足够新的OpenGL版本):使用顶点数组对象将整个gl…Pointer设置封装到一个抽象对象中,该对象可以通过单个OpenGL调用进行绑定。
https://stackoverflow.com/questions/14004746
复制相似问题