Android GLSurfaceView.Renderer
2012-05-14 17:35
357 查看
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 容器的改变.
文章连接:/article/11771751.html
一个普通的渲染器接口
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 容器的改变.
文章连接:/article/11771751.html
相关文章推荐
- Android GLSurfaceView.Renderer
- Android GLSurfaceView.Renderer 类 onDrawFrame 方法的刷新机制
- android.opengl.GLSurfaceView.Renderer概述
- Android Dev Intro - An OpenGL ES renderer based on the GLSurfaceView rendering framework
- Android GLSurfaceView.Renderer
- 基于Android的OpenGL—使用GLSurfaceView创建一个Activity
- Android进阶笔记05:View、SurfaceView 和GLSurfaceView 的关系和区别
- An OpenGL ES renderer based on the GLSurfaceView rendering framework.
- android view SurfaceView GLSurfaceView的关系和区别
- Android之GLSurfaceView立方体图片纹理测试代码
- Android之GLSurfaceView立方体各面不同图片纹理测试代码
- Android中GLSurfaceView截图
- android view SurfaceView GLSurfaceView的关系和区别
- (转)【Android游戏开发二十六】追加简述SurfaceView 与 GLSurfaceView效率!
- Android基于OpenGL的GLSurfaceView创建一个Activity实现方法
- Android Dev Intro - SurfaceTexture,TextureView, SurfaceView and GLSurfaceView
- 基于Android的OpenGL—在 GLSurfaceView上绘制三角形和使用投影和相机视图
- Android中View,SurfaceView和GLSurfaceView绘图的区别
- 【Android开发学习40】在GLSurfaceView之上添加SurfaceView层