欢迎来到天天文库
浏览记录
ID:46282921
大小:1.00 MB
页数:70页
时间:2019-11-22
《Android OpenGL ES 简明开发教程》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、AndroidOpenGLES简明开发教程小结1.AndroidOpenGLES简明开发教程一:概述2.AndroidOpenGLES简明开发教程二:构造OpenGLESView3.AndroidOpenGLES简明开发教程三:3D绘图基本概念4.AndroidOpenGLES简明开发教程四:3D坐标变换5.AndroidOpenGLES简明开发教程五:添加颜色6.AndroidOpenGLES简明开发教程六:真正的3D图形7.AndroidOpenGLES简明开发教程七:材质渲染AndroidOpenG
2、LES简明开发教程一:概述ApiDemos的Graphics示例中含有OpenGLES例子,OpenGLES主要用来开发3D图形应用的。OpenGLES(OpenGLforEmbeddedSystems)是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。下面是维基百科中对应OpenGLES的简介:OpenGLES是从OpenGL裁剪定制而来的,去除了glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。经过
3、多年发展,现在主要有两个版本,OpenGLES1.x针对固定管线硬件的,OpenGLES2.x针对可编程管线硬件。OpenGLES1.0是以OpenGL1.3规范为基础的,OpenGLES1.1是以OpenGL1.5规范为基础的,它们分别又支持common和commonlite两种profile。liteprofile只支持定点实数,而commonprofile既支持定点数又支持浮点数。OpenGLES2.0则是参照OpenGL2.0规范定义的,commonprofile发布于2005-8,引入了对可编程
4、管线的支持。在解析AndroidApiDemos中OpenGLES示例前,有必要对OpenGLES开发单独做个简明开发教程,可以帮助从未接触过3D开发的程序员了解OpenGL的开发的基本概念和方法,很多移动手机平台都提供了对OpenGLES开发包的支持,因此尽管这里使用Android平台介绍OpenGLES,但基本概念和步骤同样适用于其它平台。简明开发教程主要参考JaywayTeamBlog中OpenGLES开发教程,这是一个写的比较通俗易懂的开发教程,适合OpenGLES初学者。除了这个OpenGLES
5、简明开发教程外,以后将专门针对OpenGLES写个由浅入深的开发教程,尽请关注。AndroidOpenGLES简明开发教程二:构造OpenGLESView在Andorid平台上构造一个OpenGLView非常简单,主要有两方面的工作:GLSurfaceViewAndroid平台提供的OpenGLESAPI主要定义在包android.opengl,javax.microedition.khronos.egl,javax.microedition.khronos.opengles,java.nio等几个包中,
6、其中类GLSurfaceView为这些包中的核心类:起到连接OpenGLES与Android的View层次结构之间的桥梁作用。使得OpenGLES库适应于Anndroid系统的Activity生命周期。使得选择合适的Framebuffer像素格式变得容易。创建和管理单独绘图线程以达到平滑动画效果。提供了方便使用的调试工具来跟踪OpenGLES函数调用以帮助检查错误。因此编写OpenGLES应用的起始点是从类GLSurfaceView开始,设置GLSurfaceView只需调用一个方法来设置Ope
7、nGLView用到的GLSurfaceView.Renderer.帮助1publicvoidsetRenderer(GLSurfaceView.Rendererrenderer)GLSurfaceView.RendererGLSurfaceView.Renderer定义了一个统一图形绘制的接口,它定义了如下三个接口函数:帮助1//Calledwhenthesurfaceiscreatedorrecreated.2publicvoidonSurfaceCreated(GL10gl,EGLConfigconf
8、ig)34//Calledtodrawthecurrentframe.5publicvoidonDrawFrame(GL10gl)67//Calledwhenthesurfacechangedsize.8publicvoidonSurfaceChanged(GL10gl,intwidth,intheight)onSurfaceCreated:在这个方法中主要用来设置一些绘制时不常变化的参数,比如:背景色,是否打开z-buff
此文档下载收益归作者所有