注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

东东的博客

江南烟雨,同大家一起分享

 
 
 

日志

 
 

[翻译]Android 3D 游戏开发教程– Part IV  

2010-06-17 10:51:34|  分类: android相关 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

这几篇Android 3D游戏开发的文章原文出自一位德国人Martin在droidnova.com写的文章,有lixinso翻译为中文。

这个系列的第四部分讲如何给三角形添加颜色。

在 上一部分我们创建了第二个静态的三角形来验证我们旋转的是三角形而不是整个场景。这里我们将这个静态的三角形删除掉。删除掉 initStaticTriangle()函数,删除两个buffer,_indexBufferStatic和 _vertexBufferStatic。同时也要删除原来初始静止三角形时用到的onDrawFrame()中的最后四行。

新的onDrawFrame()方法如下:

{KQB8L9FNE}WATYW$}_VWNV

现在我们为保存颜色信息创建一个新的buffer。这个_colorBuffer是一个对象变量,但是我们需要在initTriangle()方法中定义颜色并填充这个buffer.

1{013_)C06)L]8}5VD][I$Y

我 们创建了一个FloatBuffer类型的对象变量_colorBuffer(第四行)。在initTriangle()方法中我们为新的颜色 buffer分配了足够多的内存(19-21行)。接下来我们创建了一个float数组(23-27行),每个顶点有4个值。 这个结构是RGBA(Red,Green,Blue,alpha)的,所以第一个顶点是红颜色,第二个颜色是绿色,第三个颜色是蓝色。最后两部和 _vertexBuffer相同。我们将颜色数组放到buffer里面,将buffer的position设置为0.

当这些准备工作都做完了以后,我们开始告诉OpenGL ES使用我们的颜色数组。这通过glEnableClientState(),以及glColorPointer()来完成,和vertexBuffer类似。

6NB])TUP4R{CWPWS{QC'3@N

第五行我们enable了color mode。在17行我们设置了颜色 pointer。参数4表示RGBA(RGBA刚好是四个值),其余的几个参数大家都比较熟悉了。

也许你也看到了,我们注释掉了15行,因为我们使用的是color mode,所以不再需要glColor4f。它会覆盖,所以我们可以注注释掉或者删除掉他。

Eclipse工程源代码参考: Vortex Part IV

3d-part-four-triangle13d-part-four-triangle

转自:http://blog.csdn.net/lixinso/archive/2010/01/30/5272968.aspx

  评论这张
 
阅读(499)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017