为了充分发挥GPU的性能。我们在绘制图形时应当尽量采用数组,以最少的次数调用glDrawArray或glDrawElements,并且最好以Triangle Strip或Triangle Fan的形式绘制。因为这个即能避免顶点的重复定义也能使得顶点数据被放入GPU的常量缓存中去。
下面提供了对立方体的一个优化的绘制方式:
我们看到上述代码的索引数比先前版本整整少了一半(先前版本有36个索引,这次仅18个),并且再加上绘制方式使用了GL_TRIANGLE_STRIP,使得立方体的绘制效率大幅提升。
不过上述的立方体,在其内部还含有隐藏的多边形。
下面的顶点绘制虽然索引数增加到了26个,但是内部没有多余的多边形,因此还算比较正统,呵呵: