2010-11-08 78 views
3

使用Open GL ES 2.0,我想创建一个大方格网格,其中每个方格可以采用定义文件指定的某种颜色。所以这不是一个简单的只有黑色和白色方块棋盘...
这样做,以避免文物最好的方法是什么?如何在OpenGL ES 2.0中创建多色方形网格?

在此先感谢

回答

2

没有什么画的正方形格子时将隐含引起假象。这个问题中描述的绘图没有固有的z战斗,深度或透明度问题。

在应用程序中,为每个顶点创建一个具有两个属性(位置,颜色)的顶点数组。对于网格中的每个正方形,您需要4个顶点。这将描述组成每个网格平方的2个独立三角形。避免使用三角形条,因为您不想在相邻的网格正方形之间共享或插入颜色属性。

所以在存储器的顶点数组将是:

square0Pos0 
color0 
square0Pos1 
color0 
square0Pos2 
color0 
square0Pos3 
color0 
square1Pos0 
color1 
... 

创建一个简单的直通着色器对通过作为变化到片段着色器发送顶点颜色。片段颜色简单地将输出颜色设置为变化的值。

如果您从-1.0到1.0布局网格位置,则甚至不需要添加查看变换统一或相应的着色器逻辑。

进行一次绘制调用以绘制您的顶点数组,使用​​。