首页 理论教育 使用索引法绘制三角形,实用技巧

使用索引法绘制三角形,实用技巧

时间:2023-10-22 理论教育 版权反馈
【摘要】:■ 参数indices:表示绘制顶点使用的索引缓存。接下来将通过一个具体实例的实现流程,详细讲解用索引法绘制三角形的方法。文件MyActivity.java的主要代码如下编写文件MySurfaceView.java,功能是在创建MySurfaceView对象的同时设置渲染器及之渲染模式。当创建MySurfaceView时调用onDrawFrame()方法,实现初始化屏幕背景颜色、绘制模式和是否深度检测等功能。

使用索引法绘制三角形,实用技巧

其实在前面的例子中我们已经使用了索引法,索引法是通过调用方法gl.glDrawElements()来绘制各种基本几何图形的。在OpenGLES中,使用方法glDrawElements()的语法格式如下。

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

■ 参数mode:定义什么样的图元被画出来。

■ 参数count:定义一共有多少个索引值。

■ 参数type:定义索引数组使用的类型。

■ 参数indices:表示绘制顶点使用的索引缓存

接下来将通过一个具体实例的实现流程,详细讲解用索引法绘制三角形的方法。

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

本实例的实现流程如下。

(1)编写文件MyActivity.java,先引入相关包并声明MySurfaceView对象,然后为布局文件中的按钮添加监听器类,分别用于监听3个不同的按钮,最后重写方法onPause()来继承父类的方法,并同时挂起或恢复MySurfaceView视图。文件MyActivity.java的主要代码如下

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

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

(2)编写文件MySurfaceView.java,功能是在创建MySurfaceView对象的同时设置渲染器及之渲染模式。具体实现流程如下。

■ 设置背面剪裁、平滑着色、自定义卷绕标志位的方法。

■ 定义了触摸回调方法以实现屏幕触控,并在屏幕上滑动而使场景物体旋转的功能。

■ 定义渲染器内部类以实现图像的渲染、屏幕横竖发生变化时的措施。

■ 重写onDrawFrame()方法,分别实现背面剪裁、平滑着色功能,并在屏幕横竖空间位(www.xing528.com)

置发生变化时自动调用。当创建MySurfaceView时调用onDrawFrame()方法,实现初

始化屏幕背景颜色、绘制模式和是否深度检测等功能。

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

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

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

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

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

■ 定义suoyinCH类的构造器来初始化相关数据,这些数据包括初始化三角形的顶点数据缓冲、颜色数据缓冲、索引数据缓冲。

■ 定义应用程序中具体实现场景物体的绘制方法,主要包括启用相应数组、旋转场景中物体、指定画笔的顶点坐标数据和顶点颜色数据,并用画笔实现绘图功能。

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

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

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

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

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

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

图5-3 执行效果

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

我要反馈