OpenGLES2.0 概念

1. 1缓存 (buffer)

* OpenGLES 为GPU和CPU的内存区域 数据交换定义了缓存(buffer)的概念。*

优点:缓存是指 图形处理器能够 制和管理的 RAM。程序从 CPU 的内存复制数据到 OpenGL ES 的缓存。在 GPU 取得一个缓存的所有权以后,运行在 CPU 中的程序理想情况下将不 再接 这个缓存。通过 制独 的缓存,GPU 就能够尽可能以最有效的方式读写内存。 图形处理器把它处理大量数据的能力异步同时地应用到缓存上,这意 着在 GPU 使用 缓存中的数据工作的同时,运行在 CPU 中的程序可以 行。

为缓存提供数据的步骤

  1. 生成(generate) — 请求OpenGL ES 为图形处理器控制的缓存生成一个独一无二的标识符。
    • 函数:glGenBuffers()
  2. 绑定(Bind) — 告诉OpenGL ES 为接下来的运算使用一个缓存。
    • 函数:glBindBuffer()
  3. 缓存数据(Buffer Data) — 函数: — 让OpenGL ES 为当前绑定的缓存分配并初始化足够的的连续内存(通常是从 CPU 制的内存复制数据到分配的内存)。
    • 函数:glBufferData() 或者 glBufferSubData()
  4. 启用(Enable) 或 禁止(Disable) —告诉 OpenGL ES 在接下来的渲染中是否使用缓存中的数据。
    • 函数:glEnableVertexAttribArray() 或 glDisableVertexAttribArray()
  5. 设置指针(Set Pointers) —告诉OpenGL ES 缓存中的数据类型 和 所有需要访问的数据的内存 偏移值。
    • 函数:glVertexAttribPointer()
  6. 绘图(Draw) —告诉OpenGL ES 使用绑定并启用的的缓存数据 来 渲染整个场景或者某一个部分。
    • 函数:glDrawArrays() 或者 glDrawElements()
  7. 删除(Delete) —告诉OpenGL ES 删除以前生成的缓存并释放资源。
    • 函数:glDeleteBuffers()

备注:缓存的 生成、初始化、删除需要花费时间来同步GPU和CPU,存在这个等待时间是因为GPU删除一个缓存之前必须完成所有 与该缓存先关的等待中的运算,如果GPU每秒都生成 删除缓存很多次,那么GPU久没有时间来完成任何渲染了。


1.2帧缓存

接收GPU渲染的结果的缓冲区叫做帧缓存。

帧缓存特点:
1. 不需要初始化,渲染指令会在适当的时候 换缓存的内容。
2. 绑定时隐式开启,同时OpenGL ES会自动地根据特定平台的硬件 配置和功能来设置数据的类型和 移。
3. 可同时存在多个帧缓存,并且可以通过 OpenGL ES 让 GPU 把渲染结果存 到 任意数量的 缓存中。

备注: OpenGL ES 让 GPU 把渲染结果存 到 任意数量的 缓存中。但是, 显示像 要 到保存在前 缓存(front frame buffer) 的特定 缓存中的像 颜色元 的 制。程序和操作系统很少会 接渲染到前 缓存中。因为那样会让用户 到正在渲染中的还没渲染完成的图像。相反,程序和操作系统 会把渲染结果保存到包括后 缓存(back frame buffer)在内的其他 缓存中。当渲染 后的后 缓存包含一个完成的图像时,前 缓存与后 缓存几乎会 间切换。后 缓 存会变成新的前 缓存,同时 的前 缓存会变成后 缓存。

小结:

OpenGL ES 是 类 iPhone 和 iPad 的现代嵌入式系统的 3D 图形加速硬件的标 准。把程序提供的几何数据 换为 上的图像的过程 做渲染。GPU 制的缓存是 高效渲染的关 。容 几何数据的缓存定义了要渲染的点、线 和三角形。OpenGL ES 3D 的 标系、顶点和 量为几何数据的 述提供了数学基础。渲染的结果通常保 存在 缓存中。有 个特别的 缓存,前 缓存和后 缓存,它们 制着 像 的最 终颜色。OpenGL ES 的上下文保存了 OpenGL ES 的状态信息,包括用于提供渲染数据 的缓存地 和用于接 渲染结果的缓存地 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值