[转载]Android OpenGL教程-第三课 - onicewalk的专栏 - 博客频道 - CSDN.NET

来源: [转载]Android OpenGL教程-第三课 – onicewalk的专栏 – 博客频道 – CSDN.NET

Android OpenGL 教程

第三课 给多边形上色:

作为第二课的扩展,我将叫你如何使用颜色。你将理解两种着色模式,在左图中,三角形用的是光滑着色,四边形用的是平面着色。

 

这次增加的代码不算多。

增加一个color的buffer

view plaincopy

  1. private float[] mColorArray={
  2.            1f,0f,0f,1f,     //红
  3.            0f,1f,0f,1f,     //绿
  4.            0f,0f,1f,1f      //蓝
  5.     };
  6. private FloatBuffer mColorBuffer;
  7. gl.glTranslatef(-1.5f, 0.0f, -6.0f);
  8. //     gl.glColor4f(1f, 1f, 1f, 1f); 注释掉原来的三角形的红色
  9. gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
  10. gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
  11. //使用数组作为颜色
  12. gl.glColorPointer(4, GL10.GL_FLOAT, 0, mColorBuffer);
  13. //数组指向一个buffer
  14. gl.glVertexPointer(3, GL10.GL_FLOAT, 0, mTriangleBuffer);
  15. gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);

 

 

这样话出一个颜色渐变的三角形

 

画四边形加上这一句,就出来了蓝色的四边形

gl.glColor4f(0.5f, 0.5f, 1f, 1f);

 

 

 

 

好了,我今天无意中看到了一个IPHONE的opengles教程,和我的很类似,所以学学openggl是必要的,上层的什么平台不重要,用什么语言不重要,底层的opengl的代码和API都是一样的。

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏