首页 理论教育 Android游戏开发-实现光照功能开关

Android游戏开发-实现光照功能开关

时间:2023-10-22 理论教育 版权反馈
【摘要】:在下面的实例中,演示了在Android屏幕中分别开启、关闭光照效果的方法本实例的实现流程如下。■ 在实例化MySurfaceView对象的同时设置Acitivity的内容,并且设置MySurfaceView为可触控。文件MyActivity.java的主要代码如下。■ 使用方法gl.glEnable打开灯光效果。■ 通过gl.gILightfv()设定光照相关参数。■ 分别实现关闭抗抖动、设置背景颜色、设置着色模式等操作,并分别初始化0号灯,分别设置0号灯的环境光、散射光、反射光。3)编写文件kaiguanCH.java,具体实现流程如下。

Android游戏开发-实现光照功能开关

在下面的实例中,演示了在Android屏幕中分别开启、关闭光照效果的方法

978-7-111-54543-9-Part02-182.jpg

本实例的实现流程如下。

(1)编写文件MyActivity.java,具体实现流程如下。

■ 在实例化MySurfaceView对象的同时设置Acitivity的内容,并且设置MySurfaceView为可触控。

■ 当Acitvity调用了方法onPause()和onResume()时,GLSurfaceView需要调用相应的操作,即分别调用方法onPause()及onResume()。

文件MyActivity.java的主要代码如下。

978-7-111-54543-9-Part02-183.jpg

2)编写文件MySurfaceView.java,具体实现流程如下。

■ 使用方法gl.glEnable(GLlO.GL_LIGHTING)打开灯光效果。

■ 通过gl.gILightfv()设定光照相关参数。

■ 分别实现关闭抗抖动、设置背景颜色、设置着色模式等操作,并分别初始化0号灯,分别设置0号灯的环境光、散射光、反射光。

■ 最后设置物体的材质。

文件MySurfaceView.java的主要代码如下。

978-7-111-54543-9-Part02-184.jpg

978-7-111-54543-9-Part02-185.jpg(www.xing528.com)

978-7-111-54543-9-Part02-186.jpg

3)编写文件kaiguanCH.java,具体实现流程如下。

■ 首先创建顶点坐标数据缓冲,并使用索引法为三角形构造初始化索引数据。

■ 为画笔指定顶点坐标数据、顶点法向量数据,并同时绘制图形。

■ 使用方法glNormaIPointer()为画笔指定顶点法向量数据,并分别计算球体的x、y、z坐标。

■ 用中间行的两个相邻点与下一行的对应点构成三角形,用中间行的两个相邻点与上一行的对应点构成三角形。

文件kaiguanCH.java的主要代码如下。

978-7-111-54543-9-Part02-187.jpg

978-7-111-54543-9-Part02-188.jpg

978-7-111-54543-9-Part02-189.jpg

978-7-111-54543-9-Part02-190.jpg

到此为止,整个实例介绍完毕,执行后的效果如图5-5所示

978-7-111-54543-9-Part02-191.jpg

图5-5 执行效果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈