- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AndroiOpenGL 使用
;;OpenGL 是个专业的3D程序接口,是一个功能强大,调用方便的底层3D图形库。
OpenGL? 的前身是 SGI 公司为其图形工作站开的 IRIS GL。IRIS GL 是一个工业标准的3D图形软件接口,功能虽然强大但是移植性不好,于是 SGI 公司便在 IRIS GL 的基础上开发?OpenGL? 。;1992年7月 发布了 OpenGL 1.0 版本,并与微软共同推出 Windows NT 版本的 OpenGL 。
1995年 OpenGL 1.1 版本面市,加入了新功能,并引入了纹理特性等等。
一直到 2009年8月Khronos小组发布了OpenGL 3.2,这是一年以来OpenGL进行的第三次重要升级。
;Android 3D 引擎采用的是OpenGL ES。OpenGL ES是一套为手持和嵌入式系统设计的3D引擎API,由Khronos公司维护。在PC领域,一直有两种标准的3D API进行竞争,OpenGL 和 DirectX。一般主流的游戏和显卡都支持这两种渲染方式,DirectX在Windows平台上有很大的优势,但是 OpenGL 具有更好的跨平台性。;Android系统使用 OpenGL 的标准接口来支持3D图形功能,android 3D 图形系统也分为 java 框架和本地代码两部分。本地代码主要实现的?OpenGL 接口的库,在 Java 框架层,javax.microedition.khronos.opengles 是 java 标准的?OpenGL 包,android.opengl包提供了?OpenGL 系统和 Android GUI 系统之间的联系。;1、GL
2、GL 10
3、GL 10 EXT
4、GL 11
5、GL 11 EXT
6、GL 11 ExtensionPack
;test01 蓝屏
Test02 画线
Test03 正方形
Test04 Test05纹理
Test06 运动效果;class GLSurfaceView
直接使用
class Renderer
从Renderer继承类,实现自己的显示
必须实现
onDrawFrame
onSurfaceChanged
onSurfaceCreated
;glMatrixMode 有三个参数可以选择
GL_MODEVIEW,对模型视景矩阵堆栈应用随后的矩阵操作。
GL_PROJECTION,对投影矩阵应用随后的矩阵操作。
GLTEXTURE,对纹理矩阵堆栈应用随后的矩阵操作。
;步骤
glVertexPointer
glEnableClientState
glDrawArrays
glDisableClientState
注意
这里有个排序的问题,是使用大端(BIG_ENDIAN)还是用小端(LITTLE_ENDIAN),在android里面,opengl画图must use native order direct buffer,否则报错为 ERROR/AndroidRuntime(6897);视角设定GLU.gluPerspective(gl, 60.0f, ratio, 0.1f, 100.0f);
对当前矩阵应用透视投影变换,这个GL辅助方法以非常直观的参数 来设置投影矩阵:设眼睛的座标为原点,眼睛朝向Z坐标轴负方???,以Y坐标轴正方向为上方,视野在水平(X-Z平面)方向上角度由参数 fovy指定,而参数 aspect指定视野垂直方向与水平方向的比率。 后面两个参数分别指定眼睛可以看到前边的最近距离和最远距离。
;右手坐标系
所有坐标为相对坐标,画正方形前先向后移动画板
gl.glTranslatef(0.0f, 0.0f, -4.0f);
;glEnable
glGenTextures
glBindTexture
GLUtils.texImage2D
gl.glTexParameterf
glEnableClientState(TEXTURE_COORD_ARRAY)
glTexCoordPointer
glDisableClientState(TEXTURE_COORD_ARRAY);移动z坐标,使视图远近移动
;;;
GL_SMOOTH
GL_FLAT
文档评论(0)