【openGL基础系列】之三角形,四边形的着色
大家好,我是Lampard~~
欢迎来到openGL基础系列的博客
今天讲的是openGL中对三角形,四边形进行着色
前言:在介绍四边形着色之前首先要提醒一下~openGL中对着色的四边形是默认以逆时针进行画边,然后再把形成的图形进行颜色填充,所以!如果描点的顺序不对的话,会形成不一样的图形。
1. 对三角形进行着色
GL_TRIANGLES
对三角形进行着色,我们只需要在glBegin中加上GL_TRIANGLES字段, 然后把点按照逆时针的顺序加入。下图中P1,P2,P3形成一个三角形,P4,P5,P6形成一个三角形,两个三角形独立分开。
GL_TRIANGLE_STRIP
如果我们想把两个三角形连接起来,可以使用GL_TRIANGLE_STRIP字段,此时P1,P2,P3形成一个三角形,P2,P3,P4形成一个,P3,P4,P5形成一个,P4,P5,P6形成一个。但是当我使用这个字段的时候,结果是这样的:
是写错了吗?不,只是点的坐标位置设计得不好,所以说设计点的位置以及放点的顺序十分重要。
GL_TRIANGLE_FAN
三角形还有一个字段,能够围绕着一个点来链接成扇形GL_TRIANGLE_FAN,例如下图中的,就是以P1为中心构建扇形。
2. 对四边形进行着色
GL_QUADS
同理,对四边形进行着色,我们只需要在glBegin中加上GL_QUADS字段, 然后把点按照逆时针的顺序加入。下图中P1,P2,P3,P4形成一个四边形,P5,P6,P7,P8形成一个四边形,两个四边形独立分开。
GL_QUAD_STRIP
至于对四边形进行拼接,则是P1,P2,P3,P4形成一个四边形,P3,P4,P5,P6形成一个四边形,P5,P6,P7,P8形成一个四边形。但是如果按照我们之前的写法,中间的拼接就会因为不是逆时针出错,所以我们的放点顺序要改变:1,2,4,3,5,6,8,7