博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有关于OpenGL、OpenGL ES、WebGL的小结
阅读量:7144 次
发布时间:2019-06-29

本文共 2244 字,大约阅读时间需要 7 分钟。

转自原文 

一.   OpenGL简介

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

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

  OpenGL官网:

  NeHe网站:

  优良的OpenGL教程:

 

二.   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 lite两种profile。lite profile只支持定点实数,而common profile既支持定点数又支持浮点数。 OpenGL ES 2.0 则是参照 OpenGL 2.0 规范定义的,common profile发布于2005-8,引入了对可编程管线的支持。

 

2. OpenGL ES 2.0概况:

支持的平台:

  - 支持, 3GS 和后续版本,以及3代和后续版本。

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

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

  - 支持 黑莓。

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

  - 被支持:浏览器支持OpenGL

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

  - 支持多款手机,包括Galaxy S和。

  - 使用开发插件可以支持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 书的网站:

三. WebGL

1. WebGL 简介

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

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

2. WebGL 的例子

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

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

10大WebGL应用演示网站案例

学习网站:

 

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/arxive/p/6986619.html,如需转载请自行联系原作者
你可能感兴趣的文章
RESTful架构
查看>>
轻松审计代码安全性,Windows 10有妙招
查看>>
实用且免费的API推荐
查看>>
使用 Router 实现的模块化,如何优雅的回到主页面
查看>>
linux cgroup代码学习(1)——cgroup介绍
查看>>
关于Promise
查看>>
【MySQL】Seconds_Behind_Master的真正含义
查看>>
JavaScript入门的5条建议
查看>>
PHP + Swoole 开发的简单聊天室
查看>>
学习 Next.js: 获取数据
查看>>
如何通过扫描二维码下载多版本APP
查看>>
他看了几千份技术简历,愿意把技术简历的秘籍传授给你
查看>>
safari Iframe 溢出 body
查看>>
[译]基于 React Router 4 的可复用 Layout 组件
查看>>
前言与链表实现数组
查看>>
Python - jieba分词
查看>>
使用nodejs自带debug工具调试nodejs
查看>>
JavaScript 闭包
查看>>
Docker再曝安全漏洞,这次是PWD的问题
查看>>
2017敏捷沙滩大会概述:学习、心理安全和持续交付的重要性
查看>>