8.1 三角形绘制(Combining Triangle Strips and Triangle Fans)

    在开始构建球棍或者冰球之前,我们可以站在一个更高的角度上来想象下,一个冰球可以使用一个扁平的圆柱来构建,如下图所示:

Part I 空气曲棍球 Chapter8(8.1 Combining Triangle Strips and Triangle Fans)

    而对于球棍则稍微复杂些,可以使用两个圆柱来构建,把其中一个放在另外一个上面,如下图所示:

Part I 空气曲棍球 Chapter8(8.1 Combining Triangle Strips and Triangle Fans)


    我知道你在想什么,一个真实的球棍并不是两个圆柱简单的组合起来而已;请你相信我,一旦我们学习了一些最基础的知识,你就能够构建一个更复杂的球棍。
    为了说明如何使用OpenGL构建这些形体,让我们想象下你如何使用纸片来构建形体;首先剪下一个圆作为圆柱的顶部,然后再取一张纸片,并把它剪到正确的尺寸,然后把它卷成试管,为了构建圆柱,我们把圆放在试管的顶部。我们将会使用一个圆柱来构建冰球,使用两个圆柱构建球棍。
    事实证明使用OpenGL来实现是非常容易的;你可以使用triangle fan构建圆,我们在前面使用过triangle fan构建了桌面,在这里也可以使用该命令构建圆;我们只需要使用更多的三角形并把外部的顶点组合成圆即可。
    为了构建圆柱边缘部分,我们可以使用一个相关的命令triangle strip;就像triangle fan一样,使用triangle strip你可以定义很多的三角形,但是它并不像triangle fan一样会在圆范围内展开,triangle strip就像构建桥梁一样每一个三角形都是相互拼在一起的,如下图所示:

Part I 空气曲棍球 Chapter8(8.1 Combining Triangle Strips and Triangle Fans)


    就像triangle fan一样前面三个顶点定义了第一个三角形,后面每一个顶点都会与前面两个构建一个额外的三角形,为了使用triangle strip来构建圆柱的边缘,我们只需要保证最后两个顶点与开始的两个顶点相同即可。

    在下一节我们将会添加一个几何类以便方便我们构建形体(点击进入下一节

相关文章: