`

新起点:OpenGL ES 3.0和OpenGL 4.3

 
阅读更多

SIGGRAPH 2012专业图形大会在洛杉矶开幕第一天,Khronos Group组织就做出了多项重要宣布,其中最焦点的当属新一代移动3D图形标准规范“OpenGL ES 3.0”。

OpenGL ES 3.0汲取了桌面版规范OpenGL 3.3/4.2的不少营养,为这项免费开放的3D图形API带来了大量显著的功能性和移动性增强,同时向下兼容已有的OpenGL ES 2.0。

OpenGL ES 3.0主要新功能有:

1、渲染管线多重增强,实现先进视觉效果的加速,包括遮挡查询(Occlusion Query)、变缓反馈(Transform Feedback)、实例渲染(Instanced Rendering)、四个或更多渲染目标支持。

2、高质量ETC2/EAC纹理压缩格式成为一项标准功能,不同平台上不再需要需要不同的纹理集。

3、新版GLSL ES 3.0着色语言,全面支持整数和32位浮点操作。

4、纹理功能大幅增强,支持浮点纹理、3D纹理、深度纹理、顶点纹理、NPOT纹理、R/RG单双通道纹理、不可变纹理、2D阵列纹理、无二次幂限制纹理、阴影对比、调配(swizzle)、LOD与mip level clamps、无缝立方体贴图、采样对象、纹理MSAA抗锯齿渲染器。

5、一系列广泛的精确尺寸纹理和渲染缓冲格式,便携移动应用更简单。

OpenGL ES工作组会在六个月内更新OpenGL ES采纳者项目,提供广泛的兼容性测试,并提供相关源代码。

2D/3D图形知识产权IP提供商Digital Media Professionals Inc. (DMP)也同时宣布,其基于可扩展SMAPH-S着色器的图形IP产品系列也已支持OpenGL ES 3.0。

 

OpenGL ES 3.0规范及相关材料下载:
http://www.khronos.org/registry/gles/

移动3D图形新起点:OpenGL ES 3.0规范发布
OpenGL ES 3.0示例

移动3D图形新起点:OpenGL ES 3.0规范发布
纹理压缩成为最关键之处

3.0版本的OpenGL ES在OpenGL 3.x 和 4.x的基础上增加了许多新的功能,比如着色器的功能变得更加强大、全面支持32位整数和浮点型数据。

OpenGL ES 3.0可以让GPU处理更复杂的纹理,如任意尺寸的纹理、浮点纹理等。其中最重要的就是新的纹理算法带来了更好的纹理压缩表现(包括ETC2和EAC标准),以及一些像Instance Rendering、Occlusion Queries、Transform Feedback这样的新的硬件加速特性。

这些更新为OpenGL ES的移动开发人员带来很大的便利,之前很多开发人员都会在APK中为不同设备创建不同的textures,但现在他们可以在移动端和桌面端使用相同的组件。由于压缩方法有所改进,现在的压缩包比起以前小了很多,在提升应用程序下载速度的同时,也降低了内存的占用空间。

即使新增了如此多的功能,OpenGL在性能上还是稍稍落后Direct3D 10和Open GL 3.2,其中最大的缺陷是OpenGL ES 3.0不支持几何渲染,这些几何渲染可以生成新的线条和轮廓,使得曲面更加细分:选择一个现有的图形,加入新的线条,让曲线变得更加顺滑,整个图形看起来会更加美观。

OpenGL 4.3

除了OpenGL ES 3.0,Khronos 集团也在桌面端推出了OpenGL 4.3,新版标准不仅带来了更好的图形表现,同时也增加了更多之前没有的效果,比如不同类型的模糊效果。此外,开发者还可以不通过OpenCL直接使用OpenGL技巧来使用运算着色器(compute shaders)释放GPU上的任务。这样开发者可以在游戏中不耗用更多CPU功耗的情况下实现更好的物理和人工智能的模拟。

从当前的现状来看,Open GL仍然是唯一能够取代微软对3D图形技术的完全控制的API。它仍然具有一定的生命力,但是Silicon Graphics已经不再以任何让微软不悦的方式推广Open GL,因而它存在较高的风险。游戏开发人员是一个有着独立思想的群体,很多重要的开发人员目前仍然在使用Open GL。因此,硬件开发商正在设法加强对它的支持。Direct3D目前还不能支持高端的图形设备和专业应用; Open GL在这些领域占据着统治地位。

最后通过一张图来简略回顾下OpenGL 20年的风雨历程:

以NVIDIA公司于2012年3月22日发布的新一代Kepler架构显卡GeForce GTX 680为例,OpenGL的三角形输出能力、像素输出能力、浮点计算能力已经分别达到20前的1800倍、60倍、4830倍。

PS:关于OpenGL,我们所熟悉的李开复老师在SGI工作的时候就主持过基于OpenGL的多媒体应用的研究,当时开老师曾经希望说服微软采用OpenGL,但最终微软却用自己的亲儿子Direct 3D替代OpenGL。DirectX与OpenGL的战争由此展开。一开始OpenGL有着较大的优势,但自从2001年微软推出DirectX 8,并引入了两项对于整个电脑绘图界来说极为重要的创新与变革Vertex Shader 以及Pixel Shader后形势开始逆转,DirectX 9的推出更是让DirectX开始领先。然而就在数天前,著名游戏开放商Valve发布了一条消息重提当年恩怨,称即便在Windows环境这个主场,Direct X的表现也不如OpenGL。

分享到:
评论

相关推荐

    OPENGL ES 3.0编程指南

    在标签中提到的“elasticsearch”、“大数据”和“全文检索”与OpenGL ES 3.0编程没有直接关联,它们属于数据搜索和分析领域。Elasticsearch是一种流行的分布式搜索引擎,用于实时大数据分析和全文检索。它通常与...

    OPENGL ES 3.0编程指南.pdf

    OpenGL ES 3.0编程指南是面向初学者的优秀教程,旨在帮助读者深入理解并掌握OpenGL ES 3.0这一移动设备和嵌入式系统上的图形处理标准。OpenGL ES(Embedded Systems)是OpenGL的轻量级版本,专为资源有限但需要高...

    OpenGL ES3.0 编程指南 英文版

    它结合了理论和实践,提供了大量实际可用的示例和代码,让开发者在编程时更倾向于使用这本书而不是直接查阅OpenGLES3.0规范。 总结来说,以上信息显示了OpenGL ES3.0的重要性,它在移动和嵌入式设备图形编程中的...

    OpenglES3.0完整环境.rar

    在本压缩包“OpenglES3.0完整环境.rar”中,你将找到搭建OpenGL ES 3.0开发环境所需的所有资源,包括仿真模拟器、示例代码和CMake构建工具。 首先,让我们详细了解一下OpenGL ES 3.0的新特性: 1. **增强的顶点...

    OPENGL ES 3.0编程指南 原书第2版

    6. **深度和模板测试**:OpenGL ES 3.0提供了更灵活的深度和模板测试,开发者可以控制如何根据深度和模板值决定像素是否应该被写入帧缓冲。 7. **程序化管线**:OpenGL ES 3.0完全淘汰了固定功能管线,全面转向程序...

    OpenGL ES3.0 编程指南 第二版

    1. **OpenGL ES3.0新功能和特性**:OpenGL ES3.0相对于之前的版本,在功能上有了显著的提升。它不仅包括对现有OpenGL ES标准的增强,还引入了对GLSL ES 3.0(OpenGL Shading Language for Embedded Systems)的支持...

    OPENGL ES 3.0编程指南 原书第2版 中文版 笔记1

    OpenGL ES 3.0 是移动设备和嵌入式系统上用于图形渲染的开放标准,它在OpenGL的基础上进行了优化,特别适合资源有限的环境。在iOS平台上,通常与EAGLContext一起使用,来构建和管理OpenGL ES上下文。以下是基于...

    OpenGL ES 3.0 Programming Guide

    OpenGL ES 3.0 Programming Guide

    openGLES3.0Example_6_VertexBufferObjects.rar

    顶点 缓存对象允许OpenGL ES 3.0应用程序分配和缓存 顶点数据在高性能图形内存和渲染从这 内存,从而避免每次绘制原语时重新发送数据。 不仅是顶点数据,还有用来描述的元素索引 原语的顶点索引,并作为参数传递给...

    《OPENGL ES 3.0编程指南 原书第2版 》高清书签目录

    2. **着色语言GLSL ES 3.00**:OpenGL ES 3.0的着色语言GLSL ES 3.00扩展了着色器的表达能力,添加了更多数据类型,如double和half浮点精度,以及向量和矩阵操作的内建函数。 3. **帧缓冲对象(FBO)**:FBO在3.0中...

    OpenGL ES 3.0 Programming Guide, 2nd Edition

    All code has been built and tested on iOS 7, Android 4.3, Windows (OpenGL ES 3.0 Emulation), and Ubuntu Linux, and the authors demonstrate how to build OpenGL ES code for each platform. Coverage ...

    opengles 3.0游戏开发(上)

    在"opengles3.0游戏开发(上(1))"中,可能包含了一系列的实例项目,这些项目可能会涵盖上述知识点,如建立基本的游戏框架、创建3D模型、实现基本的交互功能等。每个案例都是一个具体的应用场景,通过实践来巩固...

    OpenGL ES 3.0 Programming Guide英文版

    OpenGL ES(Open Graphics Library for Embedded Systems)3.0是专门为移动和嵌入式系统设计的图形应用程序接口,是OpenGL图形系统的子集。它主要用于手机、平板电脑、游戏机和其他便携式设备的3D图形渲染。OpenGL ...

    OpenGL ES 3.0 Spec 中文版

    1. **版本更新**:OpenGL ES 3.0 相比于之前的版本(如2.0)有显著的性能提升和新特性,旨在满足现代移动设备和嵌入式系统的需求。 2. **状态设置命令**:OpenGL ES 3.0 引入了更灵活的状态设置机制,允许开发者更...

    OpenGL ES 3.0 Programming Guide 源码

    This repository contains the sample code for the OpenGL ES 3.0 Programming Guide by Addison-Wesley Professional (http://www.opengles-book.com). 编译平台: Microsoft Windows Linux X11 Android 4.3+ NDK...

    opengl es3.0 pdf

    - **虚拟现实**:OpenGL ES 3.0 支持高分辨率和高帧率渲染,非常适合用于 VR 应用程序的开发。 - **增强现实**:AR 技术同样受益于 OpenGL ES 3.0 的性能提升,使得 AR 应用程序能够更加流畅地运行。 #### 五、学习...

    Android上opengl es3.0实现一个旋转的三角形(Android studio2.1.3)

    OpenGL ES 3.0 是其一个重要版本,提供了更多的特性、更高的性能和更丰富的图形处理能力。在 Android 平台上,OpenGL ES 通常用于游戏开发、3D 图形渲染以及其他需要高性能图形处理的场景。 在 Android Studio ...

    OpenGL ES 3.0上卷 吴亚峰 pdf以及源代码

    首先,OpenGL ES 3.0在OpenGL ES 2.0的基础上进行了大量的性能提升和功能扩展。其中最重要的改进之一是引入了浮点纹理支持,这使得在图形处理中可以使用更高精度的颜色和深度数据,从而提高了图像质量。另外,多边形...

    openGLES 3.0

    OpenGL ES 3.0是该标准的一个重要升级,引入了许多新特性以提高性能、效率和图像质量。下面将详细探讨OpenGL ES 3.0的关键知识点。 1. **增强的顶点着色器**:在OpenGL ES 3.0中,顶点着色器的浮点精度得到提升,...

Global site tag (gtag.js) - Google Analytics