上一节介绍了opengl es着色器原理和过程
我们对着色器原理和过程有了较为详细的理解,并且重点讲解了使用顶点着色器来实现opengl基本图元(点,直线,三角形)的位置,那么本节讲解opengl es对颜色的绘制。
三角形扇:
之前讲解如果想描述一个长方形可以用两个三角形来描述,比如:
// Triangle 1
-0.5f, -0.5f,
0.5f, 0.5f,
-0.5f, 0.5f,
// Triangle 2
-0.5f, -0.5f,
0.5f, -0.5f,
0.5f, 0.5f,
。。。。
很容易发现有很多坐标重复的问题,特别是复杂图形这样组成坐标的数组里有大量的数据冗余,为了解决这个问题提出了三角形扇的概念。如下图:
我们在桌子中间引入一个点(0,0)即1位置作为起始点,使用相邻两个顶点创建第一个三角形,接下来的每个顶点都会创建一个三角形,围绕起始点按照扇形展开,当最后重复第二个点时我们知道绘制完成。坐标位置数组也变成如下:
/*
float[] tableVerticesWithTriangles = {
// Triangle Fan
0, 0,
-0.5f, -0.5f,
0.5f, -0.5f,
0.5f, 0.5f,
-0.5f, 0.5f,
-0.5f, -