• 有关于OpenGL、OpenGL ES、WebGL的小结


    转自原文 有关于OpenGL、OpenGL ES、WebGL的小结

    一.   OpenGL简介

      OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图西象(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。

      关于其他的介绍我就不说了。这边我说一下有OpenGL的资源网站:

      OpenGL官网:http://www.opengl.org/resources/libraries/glut/

      NeHe网站:http://nehe.gamedev.net/

      优良的OpenGL教程:http://www.zwqxin.com/archives/opengl/tutorial-recommendation.html

    二.   OpenGL ES

    1. OpenGL ES简介

            可以这么说,OpenGL ES是OpenGL的嵌入式版本,OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。该API由Khronos集团定义推广,Khronos是一个图形软硬件行业协会,该协会主要关注图形和多媒体方面的开放标准。

            OpenGL ES的版本差异,主要有两个版本,一个是OpenGL ES 1.X,一个是OpenGL ES 2.0版本,2.0的版本是不兼容1.x版本,因为一个是固定功能的管线(1.x),另外2.0是可编程功能管线,所以很多都不一样,来看看百科是怎么介绍的。OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了 glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。经过多年发展,现在主要有两个版本,OpenGL ES 1.x 针对固定管线硬件的,OpenGL ES 2.x 针对可编程管线硬件。OpenGL ES 1.0 是以 OpenGL 1.3 规范为基础的,OpenGL ES 1.1 是以 OpenGL 1.5 规范为基础的,它们分别又支持 common 和 common lite两种profile。lite profile只支持定点实数,而common profile既支持定点数又支持浮点数。 OpenGL ES 2.0 则是参照 OpenGL 2.0 规范定义的,common profile发布于2005-8,引入了对可编程管线的支持。

    2. OpenGL ES 2.0概况:

    支持的平台:

      - 支持iPad, iPhone3GS 和后续版本,以及iPodTouch3代和后续版本。

      - 支持Android平台从Android 2.2版本开始。

      - 支持android NDK从Android 2.0版本开始。

      - 支持BlackBerry PlayBook黑莓。

      - 支持Pandora潘多拉控制台的3D库。

      - 被WebGL支持:浏览器支持OpenGL

      - 支持少数新款Nokia诺基亚手机,比如N900上的Maemo和N8上的Symbian3塞班3系统。

      - 支持多款三星手机,包括Galaxy S和Wave

      - 使用开发插件可以支持Palm webOS。

      - 支持Archos 爱可视上网本:70 IT, 101 IT

         opengl es与android有着密切的关系,主要体现在这两种接口的发展轨迹和研发公司。

        目前有关于OpenGL ES 2.0的材料还是蛮少的,就只有一本书介绍(OpenGL ES 2.0 Programming Guide)是英文版,我有买了一本书,其实不会很难看懂。你要学习OpenGL ES 最好先把OpenGL 和 OpenGL Shading Language了解一下,毕竟这是基础的知识内容。

        OpenGL ES 书的网站:http://www.opengles-book.com/downloads.html

    三. WebGL

    1. WebGL 简介

            WebGL是一种3D绘图标准,这种绘图技术标准允许把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的一个javascript绑定,WebGL可以为HTML5 Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化。显然,WebGL技术标准免去了开发网页专用渲染插件的麻烦,可被用于创建具有复杂3D结构的网站页面,甚至可以用来设计3D网页游戏等等。

            WebGL完美地解决了现有的Web交互式三维动画的两个问题:第一,它通过HTML脚本本身实现Web交互式三维动画的制作,无需任何浏览器插件支持;第二,它利用底层的图形硬件加速功能进行的图形渲染,是通过统一的、标准的、跨平台的OpenGL接口实现的。

    2. WebGL 的例子

         其实我有做了一个WebGL的例子,是用WebGL画了一个色立体,当然目前还很粗糙,简单的来说,它就是html5+OpenGL ES的组合,但是Html5还不成熟,所以关于WebGL的很多例子还只是在不成熟的DEMO上,但是我想这在以后还一种趋势,当然IT业谁也说不清楚,WebGL可以说是OpenGL的网页版,目前关于WebGL的书籍还是没有的,官网有一个是学习WebGL的教程,当然是英文了。。呵呵

    目前IE还不支持WebGL,有FireFox还有谷歌浏览器等支持。。。

    10大WebGL应用演示网站案例http://www.fadianzhan.com/index.php/archives/208

    学习网站:http://learningwebgl.com/blog/

  • 相关阅读:
    Unable To Open Database After ASM Upgrade From Release 11.1 To Release 11.2
    11g Understanding Automatic Diagnostic Repository.
    How to perform Rolling UpgradeDowngrade in 11g ASM
    Oracle 11.2.0.2 Patch 说明
    Pattern Matching Metacharacters For asm_diskstring
    Steps To MigrateMove a Database From NonASM to ASM And ViceVersa
    Upgrading ASM instance from Oracle 10.1 to Oracle 10.2. (Single Instance)
    OCSSD.BIN Process is Running in a NonRAC Environment
    Steps To MigrateMove a Database From NonASM to ASM And ViceVersa
    On RAC, expdp Removes the Service Name [ID 1269319.1]
  • 原文地址:https://www.cnblogs.com/arxive/p/6986619.html
Copyright © 2020-2023  润新知