来源: [转载]Android OpenGL教程-第三课 – onicewalk的专栏 – 博客频道 – CSDN.NET
Android OpenGL 教程
第三课 给多边形上色:
作为第二课的扩展,我将叫你如何使用颜色。你将理解两种着色模式,在左图中,三角形用的是光滑着色,四边形用的是平面着色。
这次增加的代码不算多。
增加一个color的buffer
- private float[] mColorArray={
- 1f,0f,0f,1f, //红
- 0f,1f,0f,1f, //绿
- 0f,0f,1f,1f //蓝
- };
- private FloatBuffer mColorBuffer;
- gl.glTranslatef(-1.5f, 0.0f, -6.0f);
- // gl.glColor4f(1f, 1f, 1f, 1f); 注释掉原来的三角形的红色
- gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
- gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
- //使用数组作为颜色
- gl.glColorPointer(4, GL10.GL_FLOAT, 0, mColorBuffer);
- //数组指向一个buffer
- gl.glVertexPointer(3, GL10.GL_FLOAT, 0, mTriangleBuffer);
- gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);
这样话出一个颜色渐变的三角形
画四边形加上这一句,就出来了蓝色的四边形
gl.glColor4f(0.5f, 0.5f, 1f, 1f);
好了,我今天无意中看到了一个IPHONE的opengles教程,和我的很类似,所以学学openggl是必要的,上层的什么平台不重要,用什么语言不重要,底层的opengl的代码和API都是一样的。
版权声明:本文为博主原创文章,未经博主允许不得转载。