Advertisement

OpenGL参考6:Vertex Array

阅读量:

1.前言

从上述示例可以看出,OpenGL在实现几何图元渲染过程中需要频繁地调用各类函数。以绘制一个拥有20条边的多边形为例,至少需要执行22次函数调用操作。具体来说,首先需调用glBegin()函数,随后对每个顶点分别进行一次函数调用,最后再执行一次glEnd()函数完成绘制。若还需在每个顶点处添加额外信息,例如多边形边界标识或表面法线数据,则将进一步增加函数调用次数。这种情况下,所需的函数调用总量可能会成倍增长。而在许多实际系统中,每一次函数调用都会带来较大的性能开销,从而可能对应用程序的整体运行效率产生不利影响。

另一个值得关注的问题在于,相邻多边形之间共享顶点所引发的冗余现象。如上图所示,一个立方体包含六个面和八个共享顶点。然而,若采用常规方式对这一物体进行描述,每个顶点将需要被重复定义三次,因为每个顶点属于三个不同的面。这种重复操作会导致大量冗余信息的产生。

幸运的是,OpenGL提供了一系列顶点数组相关的函数,使得用户能够通过少量数组来定义大量与顶点相关的信息,并且只需调用与数组数量相近的函数即可访问这些数据。

全部评论 (0)

还没有任何评论哟~