1.OpenGL ES 1.x渲染管线(又称为渲染流水线)

  (1).基本处理:

    基本处理主要是设定3D空间中物体的顶点坐标、顶点对应的颜色、顶点的纹理坐标等属性,并且指定绘制方式。

    常见的绘制方式有:点绘制、线段绘制和三角形绘制等。

  (2).顶点缓冲对象

    这部分在应用程序中是可选的。在初始化阶段将顶点数据经过基本处理后送入定点缓冲对象,在绘制每一帧想要的图像时就省去顶点数据IO的麻烦,提高渲染效率。

  (3).变换和光照

    进行顶点变换以及根据程序中设置的光照属性对顶点进行光照计算。顶点变换的任务主要是对个顶点进行平移、旋转或者缩放等操作。光照的计算任务是根据程序送入的光照位置、性质、各通道强度、物体材质等,同时再根据一定的光照数学模型计算各顶点的光 照情况。

  (4).图元装配

    此阶段主要有两个任务:图元组装、图元处理。

    图元组装:顶点数据根据设置的绘制方式被结合成完整的图元。

    图元处理:主要工作为剪裁,用于消除位于半空间之外的部分几何图元。裁剪的主要原因是由于观察位置和角度的不同导致观察者只能看到一部分图像。

  (5).光栅化

    3D图像在屏幕上的投影。同时,由于屏幕又像素组成(离散化),需要将投影结果离散化,分解一个一个成小单元(片元)。片元包含其对应的顶点坐标、颜色、纹理坐标和顶点深度等信息。

  (6).纹理环境和颜色求和

    纹理采样:根据当前需处理片元的纹理坐标及采用的纹理id对相应的纹理图进行纹理采样,获取采样值。

    颜色求和:执行颜色的变化,根据纹理采样及光照计算等结果综合生成需处理片元的颜色。

  (7).雾

    根据程序中设置的雾的相关参数(颜色、浓度、范围等),进行雾的数学模型来计算当前处理的片元受雾影响后的颜色。

  (8).Alpha测试

    OpenGL ES检测Aplha值并进行过滤。

  (9).剪裁测试

    检测片元在帧缓冲中对应的位置,并过滤。

  (10).深度测试和模板测试

  (11).颜色缓冲混合

  (12).抖动

  (13).帧缓冲

    OpenGL ES绘制物体现在帧缓冲区绘制,然后提交给屏幕。帧缓冲由一套组件构成,包括颜色缓冲(存储片元颜色值:RGBA)、深度缓冲(片元深度值)和模板缓冲(模板值)等。

2.OpenGL ES 2.0渲染管线

  OpengGL ES 2.0中,编程人员可以插入自己的一些特殊操作,方便高效的完成一些更高级的操作任务。

  (1).“顶点着色器”取代了“变换和光照”

  (2).“片元着色器”取代了“纹理环境和颜色求和”、“雾”、“Alpha测试”等阶段、

3.着色语言 Shading Language

这部分总结了一下,构建了一张思维导图

OpenGL ES2.0基础入门的更多相关文章

  1. OpenGL ES2.0入门详解

    引自:http://blog.csdn.net/wangyuchun_799/article/details/7736928  1.决定你要支持的OpenGL ES的版本.目前,OpenGL ES包含 ...

  2. OpenGL ES2.0 入门经典例子

    原文链接地址:http://www.raywenderlich.com/3664/opengl-es-2-0-for-iphone-tutorial 免责申明(必读!):本博客提供的所有教程的翻译原稿 ...

  3. Cocos2d-x中使用OpenGL ES2.0编写shader

    这几天在看子龙山人的关于OpenGL的文章,先依葫芦画瓢,能看到些东西,才能慢慢深入了解,当入门文章不错,但是其中遇到的一些问题,折腾了一些时间,为了方便和我一样的小白们,在这篇文章中进行写补充. O ...

  4. OPENGL ES2.0如何不使用glActiveTexture而显示多个图片

    https://www.oschina.net/question/253717_72107 用opengl es 2.0显示多个图片的话,我只会一种方式,先将图片生成纹理,然后用下面的方式渲染 // ...

  5. ECMAScript 6.0基础入门教程

    ECMAScript 6.0基础入门教程 转:https://blog.csdn.net/hexinyu_1022/article/details/80778727 https://blog.csdn ...

  6. iOS开发——图形编程OC篇&OpenGL ES2.0编程步骤

    OpenGL ES2.0编程步骤 OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机.PDA和游戏主机等嵌入式设备而设 ...

  7. Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤

    原文地址: Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤 - 网络资源是无限的 - 博客频道 - CSDN.NET http://blog.csdn.net/fen ...

  8. Android +NDK+eclipse+opengl ES2.0 开启深度測试

    參考:https://www.opengl.org/discussion_boards/showthread.php/172736-OpenGL-ES-Depth-Buffer-Problem 环境: ...

  9. OpenGL ES2.0 基本编程

    1. EGL OpenGL ES命令须要一个rendering context和一个drawing surface. Rendering Context: 保存当前的OpenGL ES状态. Draw ...

随机推荐

  1. Direct 2D实现界面库 (2)

    Direct 2D实现界面库 (1) http://www.cnblogs.com/mmc1206x/p/3924580.html 上篇说完了每个 LNode 的绘制过程. 也就是 onDraw 的实 ...

  2. 命令模式(Command)

    1.本质: 封装请求 2.定义: 把一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作 3.核心: 原本“行为请求者”和“行为执行者”是紧紧 ...

  3. Android Context作用

    Context 用于访问全局信息的接口 App的资源: strings, drawable资源等等 工程代码:LearnContext.zip ---------------------------- ...

  4. python自动开发之第二十一天

    一.请求周期 url> 路由 > 函数或类 > 返回字符串或者模板语言? 1.Form表单提交: 提交 -> url > 函数或类中的方法 - .... HttpResp ...

  5. eclipse问题解决(link方式安装插件失败)

    使用 link 方式,离线安装 eclipse 插件时,经常失败. 一.常见的失败情况 link方式配好后,eclipse 启动,没有弹出任何信息. 查看当前工作空间——.metadata——.log ...

  6. jQuery--Promise object

    http://blog.mediumequalsmessage.com/promise-deferred-objects-in-javascript-pt2-practical-use http:// ...

  7. Asynchronous

    http://sporto.github.io/blog/2012/12/09/callbacks-listeners-promises/ http://www.cnblogs.com/liuning ...

  8. Sereja ans Anagrams

    Codeforces Round #215 (Div. 1) B:http://codeforces.com/problemset/problem/367/B 题意:给你两个序列a,b,然后给你一个数 ...

  9. OPENFILER记下,有空再玩之,ISCSI,以后网络起来了,速度还是应该可以的

  10. POJ-3693-Maximum repetition substring(后缀数组-重复次数最多的连续重复子串)

    题意: 给出一个串,求重复次数最多的连续重复子串 分析: 比较容易理解的部分就是枚举长度为L,然后看长度为L的字符串最多连续出现几次. 既然长度为L的串重复出现,那么str[0],str[l],str ...