【openGL2021版】三角&四边形
大家好,我是Lampard猿奋
欢迎来到船新的openGL基础系列的博客,今天讲的是画三角&四边形
(一)三角形
(1)GL_TRIANGLES
三点确定一个平面,所以三角形可以说是最重要的面了。绘制一个三角形也非常简单,我们参考之前画线的环境,稍微修改一下逻辑就可以了
画三角形的BeginMode是GL_TRIANGLES,此时会把绘制的点每三个点绘制一个三角形面,而颜色同样会随着位置的不同发生渐变
(2)绘制方向
openGL中在绘制一个图形的时候会绘制正反两面,其定义默认的正面是逆时针方向(这里的顺逆时针指的是三个点的绘制顺序)
所以为了提高绘制效率,我们可以通过让openGL只绘制一个面。如果此时我们再采用顺时针方向的绘制顺序,那么屏幕上就不会出现图案
只要调整点的顺序,让其呈逆时针顺序绘制,就又可以看到图案了
那么可不可以哪怕我只展示一面,但是我想默认展示的就是逆时针方向的图案呢?明显是可以的,我们可以通过glFrontFace(GL_CW)来设定默认就显示顺时针,这样反而逆时针的图案就不会呈现了
(3)GL_TRIANGLE_STRIP
GL_TRIANGLE_STRIP的作用是让每三个点组成一个三角形,总共画N-2个三角形
像这样就能画出两个三角形,拼凑出一个矩形图案
(4)GL_TRIANGLE_FAN
GL_TRIANGLE_FAN的作用是让第一个点作起点,画123,134,145... 总共画N-2个三角形
(二)四边形
(1)GL_QUADS
GL_QUADS让每四个点构成一个四边形并进行绘制,我构造了一个四边形并平移了一些位置得到了第二个四边形
其他模式和三角形大同小异就不多赘述,当前只是熟悉一下openGL的一些图形