在三维世界中,所有的物体都是以基本形状为基础进行构建的。所有三维物体只有经过建模、材质和渲染处理后,才会最终成为我们眼中美轮美奂的角色和物体。在本节的内容中将详细介绍在Android系统中使用OpenGL ES绘制立体图形角色的方法。
在下面的实例中,演示了在屏幕中绘制一个圆柱体的方法。
圆柱体是指在同一个平面内有一条定直线和一条动线,当这个平面绕着这条定直线旋转一周时,这条动线所画成的面叫做旋转面,这条定直线叫做旋转面的轴,这条动线叫做旋转面的母线。如果母线是和轴平行的一条直线,那么所生成的旋转面叫做圆柱面。如果用垂直于轴的两个平面去截圆柱面,那么两个截面和圆柱面所围成的几何体叫做直圆柱,简称圆柱圆柱又可以看作是由一个矩形绕着它的一边旋转一周而得到的。
本实例的实现流程如下。
(1)编写文件Jiem.java,实现流程如下。
■ 指定屏幕所要显示的界面,并对界面进行相关设置。
■ 为Activity设置恢复处理,当Activity恢复设置时,显示界面同样应该恢复。
■ 当Activity暂停设置时,显示界面同样应该暂停。
文件Jiem.java的主要代码如下。
(2)编写文件MyGLSurfaceView.java,在此定义类MyGLSurfaceView实现场景加载和渲染功能。主要代码如下。
(www.xing528.com)
(3)编写文件zhuCH.java,在此文件中定义了圆柱类zhuCH,实现了绘制三角形方法的构造器部分的代码。具体实现流程如下。
■ 设置圆柱体的控制属性,主要包括纹理、高度、截面半径、截面角度切分单位和高度
切分单位。这些属性用于控制圆柱体的大小。
■ 定义各个圆柱体绘制类的三角形绘制方法和工具方法。
■ 实现圆柱体的线形绘制法,线形绘制法和三角形绘制法顶点的获取方法相同,只是采
用的绘制顶点顺序和渲染方法不同,并且线形绘制没有光照和纹理贴图。
文件zhuCH.java的主要代码如下。
到此为止,整个实例介绍完毕,执行之后的效果如图5-7所示
图5-7 执行效果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。