OpenGL ES 2.0和OpenGL ES 3.0有什么区别

时间:2013-07-09 08:22:36

标签: opengl-es opengl-es-2.0 opengl-es-3.0

我想知道OpenGL ES 2.0OpenGL ES 3.0之间的区别。

OpenGL ES 3.0的主要优势是什么?

3 个答案:

答案 0 :(得分:12)

我认为最好在官方specs

上阅读“3.0版和之前版本 - >新功能”部分

它向后兼容ES 2.0。

答案 1 :(得分:8)

直接来自Wikipedia

  

OpenGL ES 3.0规范于2012年8月公开发布.OpenGL ES 3.0向后兼容OpenGL ES 2.0,使应用程序能够逐步向应用程序添加新的可视化功能。

     

OpenGL ES 3.0规范中的新功能包括:

     
      
  • 对渲染管道进行多项增强,以加速高级视觉效果,包括:遮挡查询,变换反馈,实例渲染以及对四个或更多渲染目标的支持,
  •   
  • 高质量的ETC2 / EAC纹理压缩作为标准功能,无需为每个平台提供不同的纹理集,
  •   
  • 新版本的GLSL ES着色语言,完全支持整数和32位浮点运算;
  •   
  • 极大增强的纹理功能,包括对浮点纹理,3D纹理,深度纹理,顶点纹理,NPOT纹理,R / RG纹理,不可变纹理,2D阵列纹理,swizzles,LOD和mip级别夹具,无缝立方体贴图的有保证支持和采样器对象,
  •   
  • 一组广泛的必需,明确大小的纹理和渲染缓冲区格式,减少了实现的可变性,使编写便携式应用程序变得更加容易。
  •   

答案 2 :(得分:6)

总体而言,这些更改通过更大的缓冲区,更多的格式,更多的制服等来提高灵活性。其他功能(如实例渲染,像素缓冲区对象和遮挡查询)提供了优化的机会。根据您的平台,它可能具有革命性,但许多关键功能已经在iOS等平台上进行了扩展。

就我个人而言,最重要的变化是:

  • 顶点数组对象
  • 实例渲染
  • ETC2 / EAC纹理压缩格式(以前在Android上每个卡制造商仅支持自己的纹理格式)

以下是Alexey链接的规范中描述的更改列表:

  

OpenGL ES 3.0中的新功能包括:

     
      
  • OpenGL着色语言ES 3.00
  •   
  • 转换反馈1和2(有限制)
  •   
  • 统一缓冲区对象,包括块数组
  •   
  • 顶点数组对象
  •   
  • 采样器对象
  •   
  • 同步对象和围栏
  •   
  • 像素缓冲区对象
  •   
  • 缓冲区子范围映射
  •   
  • 缓冲区对象到缓冲区对象副本314
  •   
  • 布尔遮挡查询,包括保守模式
  •   
  • 实例化渲染,通过着色器变量和/或顶点属性除数
  •   
  • 多个渲染目标
  •   
  • 2D数组和3D纹理
  •   
  • 简化纹理存储规范
  •   
  • R和RG纹理
  •   
  • 质地swizzles
  •   
  • 无缝立方体地图
  •   
  • 具有完全环绕模式支持和mipmapping的非二次幂纹理
  •   
  • 纹理LOD钳位和mipmap级别基准偏移和最大钳位
  •   
  • 至少32个纹理,片段和顶点着色器各自至少16个
  •   
  • 16位(带过滤)和32位(无过滤)浮点纹理
  •   
  • 32位,16位和8位有符号和无符号整数渲染缓冲区,纹理和顶点属性
  •   
  • 8位sRGB纹理和帧缓冲区(没有混合RGB / sRGB渲染)
  •   
  • 11/11/10浮点RGB纹理
  •   
  • 共享指数RGB 9/9/9/5纹理
  •   
  • 10/10/10/2无符号规范化和非规范化整数纹理
  •   
  • 10/10/10/2有符号和无符号规范化顶点属性
  •   
  • 16位浮点顶点属性
  •   
  • 每组件8位有符号规范化纹理
  •   
  • ETC2 / EAC纹理压缩格式
  •   
  • 大小的内部纹理格式,具有最低精度保证
  •   
  • multisample renderbuffers
  •   
  • 8位无符号规范化渲染缓冲区
  •   
  • 深度纹理和阴影比较
  •   
  • 24位深度渲染缓冲区和纹理
  •   
  • 24/8深度/模板渲染缓冲区和纹理
  •   
  • 32位深度和32F / 8深度/模板渲染缓冲区和纹理
  •   
  • 拉伸blits(有限制)
  •   
  • framebuffer失效提示
  •   
  • 使用固定索引的原始重启
  •   
  • 无符号整数元素索引,至少有24个可用位
  •   
  • 绘制命令,允许指定所访问元素的范围
  •   
  • 将任何mipmap级别附加到帧缓冲区对象的能力
  •   
  • 最小/最大混合方程
  •   
  • 程序二进制文件,包括查询链接的GLSL程序中的二进制文件
  •   
  • 强制在线编译器
  •   
  • 非正方形和转置均匀矩阵
  •   
  • 额外的像素存储状态
  •   
  • 索引扩展字符串查询
  •