OpenGL和WebGL基本概念

OPEN GL:一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口。它用于三维图像(二维的亦可),是一个功能强大,调用方便的底层图形库。

WebGL:›一个3D图形标准›融合了Javascript和OPEN GL ES2.0›为HTML5 Canvas提供了硬件3D加速渲染Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化

OpenGL是一个底层库,他是一个和语言和平台无关图形程序接口(包括二维和三维)可以有多种实现方式,而WebGL则是跟Web有关,是一个Web层面的标准,在WebGL标注下,我们可以通过javascript来实现调用OpenGL等底层图形库进行三维动画制作,是不是相当cool

当然目前由于硬件的限制,Web层面的三维动画开发才刚刚开始,也许几年之后硬件有了很大的发展,说不定WebGL会火热起来

他们之间的关系如上所示

WebGL的特点

1. WebGL最大的特点就是他是浏览器自带的标准,也就是不需要安装任何插件和组件,不同于flash和siverlight,这对于他来说是一个很大的优势

2. 其次WebGL通过统一的、标准的、跨平台的OpenGL接口实现,从而可以利用底层的图形硬件加速功能进行的图形渲染

支持情况

从图中可以看到,Webkit浏览器基本都是支持的,IE直到11才开始支持

效果展示

三维动画说展现出来的效果比二维动画要丰富的很多,甚至惊艳来形容:

›TankWorld :一个Web三维坦克游戏
›Clouds:一个云雾效果
›HelloRacerWebGL:一个方程式赛车游戏
›Google Body Browser:google人体解剖
›pearl boy:一个场景
›http://helloracer.com/racer-s/:一个非常酷的赛车效果

开发框架:

WebGL常见的开发框架如Three.js,目前寄托于https://github.com/mrdoob/three.js,目前比较火热,但是中文文档比较少,官网http://threejs.org 截图如下:

【WebGL】1.WebGL简介的更多相关文章

  1. WebGL 入门-WebGL简介与3D图形学

    什么是WebGL? WebGL是一项使用JavaScript实现3D绘图的技术,浏览器无需插件支持,Web开发者就能借助系统显卡(GPU)进行编写代码从而呈现3D场景和对象. WebGL基于OpenG ...

  2. CSGrandeur的WebGL学习——WebGL教程

    在线查看:http://csgrandeur.gitbooks.io/webgl-learn/content/ 离线mobi:http://files.cnblogs.com/files/CSGran ...

  3. Javascript高级编程学习笔记(98)—— WebGL(4) WebGL上下文(2)

    错误 Javascript与WebGL之间的一个最大区别在于,WebGL的操作一般不会抛出错误 如果希望获取WebGL的错误信息,那么就需要手动调用  gl.getError() 方法 该方法会返回以 ...

  4. Javascript高级编程学习笔记(97)—— WebGL(3) WebGL上下文(1)

    WebGL上下文 在支持WebGL的浏览器中,WebGL的名字为 "experimental-webgl",这是由于 webgl 的规范仍未制定完成 制定完成后名字就会改为简单的 ...

  5. 【WebGL】WebGL API 详解

    基于 WebGL Specifications 最全面的API释疑. 类型以及对象定义 这部分内容主要定义一部分类型和数据结构. typedef unsigned long GLenum; typed ...

  6. 有关于OpenGL、OpenGL ES、WebGL的小结

    转自原文 有关于OpenGL.OpenGL ES.WebGL的小结 一.   OpenGL简介 OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言.跨平台的编程接口 ...

  7. WebGL入门教程(五)-webgl纹理

    前面文章: WebGL入门教程(一)-初识webgl WebGL入门教程(二)-webgl绘制三角形 WebGL入门教程(三)-webgl动画 WebGL入门教程(四)-webgl颜色 这里就需要用到 ...

  8. WebGL入门教程(二)-webgl绘制三角形

    前面已经介绍过了webgl,WebGL入门教程(一)-初识webgl(http://www.cnblogs.com/bsman/p/6128447.html),也知道了如何绘制一个点,接下来就用web ...

  9. WebGL入门教程(一)-初识webgl

    一.WebGL和传统网页的区别: 普通网页组成成分:HTML.JavaScript: WebGL网页组成成分:HTML5.JavaScript和GLSL ES(着色器语言 OpenGL ES): 二. ...

  10. WebGL自学教程——WebGL演示样本:开始

    最终开始WebGL样品演示,...... 开始 使用WebGL步骤,非常easy: 1. 获得WebGL的渲染环境(也叫渲染上下文). 2. 发挥你的想象力,利用<WebGL參考手冊>中的 ...

随机推荐

  1. ansible playbook部署ELK集群系统

    一.介绍 总共4台机器,分别为 192.168.1.99 192.168.1.100 192.168.1.210 192.168.1.211 服务所在机器为: redis:192.168.1.211 ...

  2. selenium 之定位方法

    1 id 定位 driver.find_element_by_id() HTML 规定id 属性在HTML 文档中必须是唯一的.这类似于公民的身份证号,具有很强的唯一性 from selenium i ...

  3. 20145301《Java程序设计》第10周学习总结

    20145301 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据 计算机网络 路由器和交换机组成了核心的计算机 ...

  4. strcpy、sprintf、memcpy的区别

    char*strcpy(char *dest, const char *src); 其对字符串进行操作,完成从源字符串到目的字符串的拷贝,当源字符串的大小大于目的字符串的最大存储空间后,执行该操作会出 ...

  5. Ubuntu 12.10 用wubi安装到硬盘中

    wubi安装的优势: ubuntu可以像安装软件一样方便的安装.删除,不影响物理机的原有系统 这种方式安装的ubuntu不用担心功能会有所缺失,ubuntu所有的功能都在 和安装了双系统一样,没有什么 ...

  6. MySQL优化具体

    1. 查询与索引优化分析 在优化MySQL时,通常需要对数据库进行分析,常见的分析手段有慢查询日志,profiling分析,EXPLAIN分析查询,以及show命令查询系统状态及系统变量,通过定位分析 ...

  7. 用python收集系统信息

    实现的功能 搜集系统消息,有生产商,CPU型号,核数,内存,主机名,发行版名称 可运行的系统 目前已在RHEL, Ubuntu, Archlinux上测试通过 获取不同发行版主机名逻辑判断思路分析 大 ...

  8. Centos7服务器搭建VNC Server环境

    在企业级项目的开发中,尤其是分布式项目,经常直接在服务器上进行开发工作,操作系统环境一般是Centos 7.普遍状况是,在服务器上安装IDE 开发工具,通过 Xshell等工具远程启动,本地通过虚拟桌 ...

  9. Servlet3.0与Spring

    servlet   filter  listener  web.xml DispatcherServlet  web.xml 后期 servlet3.0我们去除web.xml 通过注解方式 同时需要s ...

  10. linux一键安装php脚本

    #!/bin/sh echo "----------------------------------start install php --------------------------- ...