`
jonson
  • 浏览: 168525 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[转]openGL与openGL ES 的区别

阅读更多
OpenGL与OpenGL-ES简介
OpenGL
    是由SGI公司开发的一套3D图形软件接口标准,由于具有体系结构简单合理、使用方便、与操作平台无关等优点,OpenGL迅速成为一种3D图形接口的工业标准,并陆续在各种平台上得以实现。作为一个性能优越的图形应用程序设计界面(API)而适合于广泛的计算环境,从个人计算机到工作站和超级计算机,OpenGL都能实现高性能的三维图形功能。由于许多在计算机界具有领导地位的计算机公司纷纷采用OpenGL作为三维图形应用程序设计界面,OpenGL应用程序具有广泛的移植性。因此,OpenGL已成为目前的三维图形开发标准,是从事三维图形开发工作的技术人员所必须掌握的开发工具。
OpenGL-ES
    OpenGL|ES的官方组织是:http://www.khronos.org/ 该组织关注于手持和移动平台上的动态媒体编著、播放所需的API,并致力于为这些API建立无限权费用的开放标准。(focused on the creation of open standard, royalty-free APIs to enable the authoring and accelerated playback of dynamic media on a wide variety of platforms and devices.)
在Khronos的网站上,有大量开发者资源,其中最重要的部份就是规范文档和头文件(EGL, GLES 1.x, GLES 2.x),同时还列出了很多的例子和教程。
OpenGL|ES是根据手持及移动平台的特点,对OpenGL 3D图形API标准进行裁剪定制而形成的,因此大多数OpenGL方面的知识都是可以借鉴的,因此保持对OpenGL官方组织的关注是非常有益的,OpenGL ARB网站在 http://www.opengl.org 。Khronos对两个API的关系有非常清楚的定义:

OpenGL与OpenGL-ES的主要区别:
之所以会推出OpenGL-ES版本,主要是应对嵌入式环境和应用的要求。
嵌入式设备一般工作于较恶劣的环境,包括:温度、湿度、振动、冲击、酸碱腐蚀等。例如:中国的酸雨气候就给很多室外电子设备带来了新的难题,中东地区的风沙也使得美军必须采用更先进的非IT技术来保护他们的电子设备。
    需要人机界面的嵌入式应用,由于受环境受环境因素的影响,一般不能提供有缘电源,在有限的电能限制下工作,如何以更低的功耗完成人机交互界面,成为OpenGL必须要面对的问题,进而推出了OpenGL-ES标准。应该说在高效完成2D/3D界面的同时,达到了降低功耗的效果。
    特别说明,在OpenGL发展到1.3版本时,OpenGL API不再采用纯软件的形势进行运算,开始与硬件图形芯片结合,出现了OpenGL硬加速的实现形式。例如:很多显示芯片厂商开始推出支持OpenGL硬加速的芯片,并与软件公司合作,实现OpenGL硬加速。很多PC机的游戏会有加速软件,如实况足球,但目前这类基于PC加速软件还是通过软件形式进行优化,即优化了3D渲染引擎。
    OpenGL硬加速的优点在于,使CPU从繁重的图形运算工作中解脱出来,将运算重点集中于非界面应用,即嵌入式操作系统中优先级较高,但与界面无关的应用。GPU(图形处理器)与CPU(中央处理器)的分工合作,带来的就是高效率,即《国富论》等著作中的分工合作提高效率的基本原理。
    当然,事物均具有两面性,OpenGL-ES硬加速也有缺点,即增加了设备成本。这方面主要取决于其应用是否需要强劲的性能,即对人机交互界面的更高性能的追求。
  • 大小: 39.7 KB
分享到:
评论

相关推荐

    OpenGL与OpenGLES在开发过程中的异同.pdf

    ### OpenGL与OpenGLES在开发过程中的异同 #### 一、引言 OpenGL与OpenGLES都是由Khronos Group维护的跨平台图形应用程序接口(API)。它们为开发人员提供了绘制高质量2D和3D图形的能力。OpenGL主要用于桌面操作系统...

    【OpenGL ES】立方体手动旋转(更新版)

    OpenGL ES 是一种针对嵌入式设备的图形处理接口,它基于桌面版的 OpenGL 并进行了优化,广泛应用于移动设备如智能手机和平板电脑上。在 Android 平台上,我们可以使用 OpenGL ES 进行3D图形编程,创建丰富的视觉效果...

    OPENGL ES 3.0编程指南

    它通常与OpenGL ES不直接交互,但在构建例如3D地理信息系统或可视化应用时,可能会利用Elasticsearch来检索和组织数据,然后通过OpenGL ES进行呈现。 总的来说,OpenGL ES 3.0编程指南涵盖了移动和嵌入式设备图形...

    Qt+openglEs2加载3D模型,平移、旋转、拾取模型

    Qt+openglEs2加载3D模型Qt+openglEs2加载3D模型Qt+openglEs2加载3D模型Qt+openglEs2加载3D模型Qt+openglEs2加载3D模型Qt+openglEs2加载3D模型Qt+openglEs2加载3D模型Qt+openglEs2加载3D模型Qt+openglEs2加载3D模型Qt...

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

    8. **运行与调试**:由于 Android 模拟器可能不支持 OpenGL ES 3.0,你需要在真实设备上进行调试。连接你的设备,运行应用,你应该能看到一个旋转的三角形。 在项目中的 `3_1_triangle` 文件很可能包含了实现这个...

    opengl-es.zip_opengl_opengl es

    OpenGL ES(OpenGL for Embedded Systems)是OpenGL的一个精简版本,专为嵌入式设备和移动设备设计,如智能手机、平板电脑等。它主要用于处理2D和3D图形渲染,是开发游戏、图形应用和增强现实应用的核心技术。OpenGL...

    OPENGL ES 3.0编程指南.pdf

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

    opengles 3.0游戏开发(上)

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

    OpenGL ES 3.0.2 spec

    根据文档中的版权与许可声明部分可知,OpenGL ES 3.0.2 规范受版权保护,并包含 Khronos Group Inc. 的专有材料。该规范或其任何组件未经 Khronos Group 明确书面许可不得复制、再发布、分发、传输、显示、广播或以...

    opengl es3.1头文件与reference card

    OpenGL ES Extension Header File this header is defined to contain all defined extension interfaces for OpenGL ES 2 0 and all later versions since later versions are backwards compatible with OpenGL ...

    OpenglES3.0完整环境.rar

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

    Mali_OpenGL_ES_Emulator-v3.0.2.zip.rar

    OpenGL ES(OpenGL for Embedded Systems)是OpenGL的一个子集,专为嵌入式设备如智能手机、平板电脑和游戏机设计,用于处理2D和3D图形渲染。Mali_OpenGL_ES_Emulator是ARM公司针对其Mali GPU系列推出的一款OpenGL ...

    OpenGL-Registry, OpenGL,OpenGL ES和 OpenGL ES的API和扩展注册表.zip

    OpenGL-Registry, OpenGL,OpenGL ES和 OpenGL ES的API和扩展注册表 基于的opengl注册表基于的OpenGL 。OpenGL和 OpenGL ES API和扩展注册表站点包含OpenGL族API的API和扩展注册表- OpenGL,OpenGL ES和 OpenGL SC ...

    OpenGL ES 2.0规范(中文版)——本人自己翻译总结的

    - **帧缓存的区别**:OpenGLES命令对window-system-provided framebuffers的影响最终由分配帧缓存资源的窗口系统控制。窗口系统决定了OpenGL ES在任何特定上下文中的行为。 #### 六、OpenGL ES 2.0与OpenGL 2.0的...

    Android平台使用OpenGLES2.0显示YUV数据

    本教程主要探讨如何在Android系统上,利用OpenGLES2.0图形库来处理和显示从Camera获取的YUV原始数据。YUV是一种常见的颜色空间,广泛应用于视频编码和解码,因为它对带宽的要求相对较低,特别适合移动设备。 首先,...

    在Android中的jni里使用OpenGL ES和OpenCV渲染一幅图片

    在Android平台上,JNI(Java Native Interface)允许开发者使用C++代码来增强应用程序的功能,尤其是在处理图形和计算密集型任务时,如使用OpenGL ES和OpenCV。这个特定的项目旨在通过JNI调用来结合这两个强大的库...

    OpenGL ES 3.0 Programming Guide

    OpenGL ES 3.0 Programming Guide

    OpenGLES.ppt

    ES2.x针对可编程管线硬件.OpenGL ES1.0是以OpenGL1.3规范为基础的,OpenGL ES1.1是以OpenGL1.5为基础 的,他们分别又支持common和common lite两种profile.OpenGL ES2.0是参照OpenGL2.0规范定义的”

    OpenGL ES编程指南

    2. **固定功能向可编程管线的转变**:OpenGL ES 2.0摒弃了传统的固定功能管线,转而使用全可编程的着色器系统。这使得开发者可以定制化图形渲染的每一个步骤,提高了灵活性和效率。 3. **状态机模型**:OpenGL ES ...

    opengl es rgb转yuv 顶点和片元着色器脚本

    在“opengl es rgb转yuv 顶点和片元着色器脚本”中,顶点着色器可能负责将原始的RGB图像数据映射到屏幕坐标系,确保每个像素对应正确的位置。它通常不涉及颜色空间转换,因为它的主要任务是处理几何信息。 片元着色...

Global site tag (gtag.js) - Google Analytics