今天我们来学习一下
Android
OpenGl
Es
:如何创建一个OpenGl
es程序
概述
这是一个新的系列,学习OpengGl
Es,其实是《OpenGl
Es
应用开发实践指南
Android卷》的学习笔记,感兴趣的可以直接看这本书,当然这个会记录自己的理解,以下只作为笔记,以防以后忘记
创建一个新项目
首先用Android
Studio
创建一个新的项目
初始化OpenGl
我们使用GLSurfaceView来初始化OpenGl,GLSurfaceView会处理OpenGl初始化过程中比较基本的操作,比如配置显示设备(display)以及在后台线程中渲染,GLSurfaceView可以更快的处理Activity的生命周期,GLSurfaceView为此提供了很多辅助方法
在xml书写GLSurfaceView
在Activity初始化GLSurfaceView
判断支持OpenGl版本
我们用的是2.0版本,所以判断手机是否支持2.0版本
为OpenGl2.0配置渲染表面
如果支持2.0版本,就设置版本号,在设置渲染器
适配Activity的生命周期
创建Renderer类
GlSurafceView会在一个单独的线程调用渲染的方法,默认情况下会以设备屏幕刷新率不断的渲染,也可以按照请求选渲染,RenderMode有两种,RENDERMODE_WHEN_DIRTY
和
RENDERMODE_CONTINUOUSLY,前者是懒惰渲染,需要手动调用
glSurfaceView.requestRender()
才会进行更新,而后者则是不停渲染。
最后
现在我们第一个程序已经写出来的,运行后是这样的








