从来好事天生俭,自古瓜儿苦后甜。这篇文章主要讲述(转)Android OpenGL ES相关的知识,希望能为你提供帮助。
转:http://wiki.jikexueyuan.com/project/opengl-es-guide/pipeline.html
OpenGL ES 主要用来开发 3D 图形应用的。OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA 和游戏主机等嵌入式设备而设计。
什么是 OpenGL ES?
- OpenGL ES (为 OpenGL for Embedded System 的缩写) 为适用于嵌入式系统的一个免费二维和三维图形库。
- 为桌面版本 OpenGL 的一个子集。
- OpenGL ES 定义了一个在移动平台上能够支持 OpenGL 最基本功能的精简标准,以适应如手机,PDA 或其它消费者移动终端的显示系统。
- Khronos Group 定义和管理了 OpenGL ES 标准。
文章图片
- OpenGL ES 1.0 基于 OpenGL 1.3 , 在 2003 年发布
- OpenGL ES 1.1 基于 OpenGL 1.5 , 在 2004 年发布
- OpenGL ES 2.0 基于 OpenGL2.0, 在 2007 年发布
- OpenGL 2.0 向下兼容 OpenGL 1.5 而 OpenGL ES 2.0 和OpenGL ES 1.x 不兼容,是两种完全不同的实现。
OpenGL ES 1.x 的工序是固定的,称为 Fix-Function Pipeline,可以想象一个带有很多控制开关的机器,尽管加工的工序是固定的,但是可以通过打开或关闭开关来设置参数或者打开关闭某些功能。
【(转)Android OpenGL ES】OpenGL ES 2.0 允许提供编程来控制一些重要的工序,一些“ 繁琐” 的工序比如栅格化等仍然是固定的。
下图显示了 OpenGL ES 1.x 固定管道的结构图:
文章图片
- 管道“ 工序” 大致可以分为 Transformation Stage 和 Rasterization Stage 两大步。
- OpenGL ES 支持的基本图形为 点 Point, 线 Line, 和三角形 Triangle ,其它所有复制图形都是通过这几种基本几何图形组合而成。
- 在发出绘图指令后,会对顶点(Vertices)数组进行指定的坐标变换或光照处理。
- 顶点处理完成后,通过 Rasterizer 来生成像素信息,称为” Fragments“ 。
- 对于 Fragment 在经过 Texture Processing, Color Sum ,Fog 等处理并将最终处理结果存放在内存中(称为FrameBuffer)。
- OpenGL 2.0可以通过编程来修改蓝色的步骤,称为 Programmable Shader.
推荐阅读
- (转)使用OpenGL显示图像Android OpenGLES2.0——纹理贴图之显示图片
- Android新增控件
- android 活动的生命周期
- Android ADB命令 adb devices 出现error(protocol fault (no status))
- 6.关于Xamarin Android对APK包大小的处理
- Android SDK 环境搭建
- Android APP开发入门教程
- webapp开发下input获取焦点时被弹出键盘挡住解决方法
- 音乐App前后