在下面的实例中,演示了在Android屏幕中分别开启、关闭光照效果的方法
本实例的实现流程如下。
(1)编写文件MyActivity.java,具体实现流程如下。
■ 在实例化MySurfaceView对象的同时设置Acitivity的内容,并且设置MySurfaceView为可触控。
■ 当Acitvity调用了方法onPause()和onResume()时,GLSurfaceView需要调用相应的操作,即分别调用方法onPause()及onResume()。
文件MyActivity.java的主要代码如下。
2)编写文件MySurfaceView.java,具体实现流程如下。
■ 使用方法gl.glEnable(GLlO.GL_LIGHTING)打开灯光效果。
■ 通过gl.gILightfv()设定光照相关参数。
■ 分别实现关闭抗抖动、设置背景颜色、设置着色模式等操作,并分别初始化0号灯,分别设置0号灯的环境光、散射光、反射光。
■ 最后设置物体的材质。
文件MySurfaceView.java的主要代码如下。
(www.xing528.com)
3)编写文件kaiguanCH.java,具体实现流程如下。
■ 首先创建顶点坐标数据缓冲,并使用索引法为三角形构造初始化索引数据。
■ 为画笔指定顶点坐标数据、顶点法向量数据,并同时绘制图形。
■ 使用方法glNormaIPointer()为画笔指定顶点法向量数据,并分别计算球体的x、y、z坐标。
■ 用中间行的两个相邻点与下一行的对应点构成三角形,用中间行的两个相邻点与上一行的对应点构成三角形。
文件kaiguanCH.java的主要代码如下。
到此为止,整个实例介绍完毕,执行后的效果如图5-5所示
图5-5 执行效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。