Android GLSurfaceView.Renderer

来源:互联网 发布:图片标注软件 编辑:程序博客网 时间:2024/05/19 03:43

GLSurfaceView.Renderer

一个普通的渲染器接口

GLSurfaceView  客户端通常创建他们自己实现了这个接口的类,然后调用 setRenderer(GLSurfaceView.Renderer)  去注册这个GLSurfaceView  的渲染器.

Threading

这个渲染器将在一个分离的线程中被调用,因此,渲染性能是和UI线程解耦的.用户通常需要从UI线程中和这个渲染器进行通讯,因为在那里会收到输入事件.客户端可以使用java标准的线程间通信来完成这个操作,或者也可以直接调用queueEvent(Runnable) 这个便利的方法.

EGL Context Lost

在有些情况下,EGL渲染的context将会被丢失.这通常发生在当设备处于苏醒状态转变为待机状态的情况下.EGL渲染的context丢失,所有和Context进行关联的OpenGL资源(例如,纹理)将被自动删除.为了保持渲染的正确,一个渲染器必须重新创建任何它任然需要的丢失的资源. onSurfaceCreated(GL10, EGLConfig)  方法是一个做这些事情的好地方.

onSurfaceCreated(): 当创建 GLSurfaceView时,系统调用这个方法.使用这个方法去执行只需要发生一次的动作,例如设置OpenGL环境参数或者初始化OpenGL graphic 对象.

onDrawFrame() 当系统每一次重画 GLSurfaceView 时调用.使用这个方法去作为主要的绘制和重新绘制graphic  对象的执行点.

onSurfaceChanged(): 当 GLSurfaceView  几何学发生改变时系统调用这个方法.包括 GLSurfaceView  的大小发生改变或者横竖屏发生改变.使用这个方法去响应GLSurfaceView 容器的改变.


文章连接:http://blog.csdn.net/murongshusheng/article/details/7565788

原创粉丝点击