[WebGL入门]二,開始WebGL之前,先了解一下canvas
年2月)HTML5依旧处于草案阶段。
HTML5支持网页端的多媒体功能和画布功能,追加了非常多全新的更合理的Tag标签。各个浏览器也都在逐渐的完好这些新的特性。
Canvas对象表示一个 HTML画布元素。如它的名字一样,它定义了一个API支持脚本化client来绘制图形或是图片,能够通过javascript来操作这些API。当然WebGL也是利用canvas来实现的。只是在此之前,先来简单的说明一下canvas。
年底,HTML5将成为一种完整的成品标准。
canvas标签的基础知识
canvas和img等标签一样。是一个能够自由制定大小的矩形区域。
通过javascript能够对矩形区域进行操作,能够自由的绘制图形,文字等。并且,能够加入影子,进行涂色,另外还能够对绘制的图形进行旋转等操作。并且,Web上经常使用的gif,jpg,png等格式的图片,也能够直接进行绘制。
可是,能够管理操作动画等处理的对象和方法是没有的。也就是说,为了制作动态的应用,一般会使用javascript进行循环处理。
在渲染速度上。因为javascript近几年的执行速度在不断的飞速上升,所以。假设不是特别复杂的应用的话。达到60FPS还是不成问题的。以下是我之前用canvas做的一个小游戏,如今把它贴出来。*已经上传到了jsdo.it。
没有使用WebGL。仅仅是利用了canvas一般的API。已经能够达到这样的程度了。尽管说实际执行的结果依赖于执行的环境。可是还是相当不错的吧。
WebGL和canvas
能够看到,使用canvas已经能够比較自由的绘制各种图形了。那么。为什么还要用WebGL来做处理呢?
实际上,刚才贴出来的jsdo.it上的那个小游戏,是利用了canvas的2d的context功能。
context是一个封装了画图处理的各种API的对象,这个对象中包括了全部的画图函数和属性,你能够把它想象成一个司令塔。一切的设定和处理命令都是由它发出的。
2d的context能够进行图形,文字以及图片数据的描画,可是也仅限于此,像它的名字一样,仅仅能用于2d空间的画图。
和这个相对的,WebGL是三维,能够描画3D图形,差别于之前的2dcontext,它叫做webglcontext。
webglcontext对象和2dcontext对象 一样,提供了各种各样的属性和方法,通过webglcontext。能够实现利用WebGL来描画图形。
总结
关于context,在我写这篇文章的时候,仅仅提供了2d和webgl两种定义。
可是webglcontext临时叫做experimental-webgl。以后,还有可能会出现新的类型,这个如今就不考虑了。
本站点的全部内容,都是使用WebGL来说明的,而2dcontext和今后出现的新的context,并没有打算去研究。(当然,也可能会出现一些2dcontext的内容......)
下次,開始介绍3d画图的基础知识。
[WebGL入门]二,開始WebGL之前,先了解一下canvas的更多相关文章
- [WebGL入门]二十五,点光源的光照
注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明.我会加上[lufy:].另外,鄙人webgl研究还不够深入,一些专业词语.假设翻译有误,欢迎大家指 ...
- [WebGL入门]二十一,从平行光源发出的光
注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明.我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语.假设翻译有误,欢迎大家指 ...
- [WebGL入门]二十三,反射光的光照效果
注:文章译自http://wgld.org/,原作者杉本雅広(doxas).文章中假设有我的额外说明.我会加上[lufy:],另外,鄙人webgl研究还不够深入.一些专业词语.假设翻译有误.欢迎大家指 ...
- [WebGL入门]二十四,补色着色
注:文章译自http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:],另外,鄙人webgl研究还不够深入,一些专业词语,假设翻译有误,欢迎大家指 ...
- WebGL入门教程(一)-初识webgl
一.WebGL和传统网页的区别: 普通网页组成成分:HTML.JavaScript: WebGL网页组成成分:HTML5.JavaScript和GLSL ES(着色器语言 OpenGL ES): 二. ...
- WebGL入门教程(二)-webgl绘制三角形
前面已经介绍过了webgl,WebGL入门教程(一)-初识webgl(http://www.cnblogs.com/bsman/p/6128447.html),也知道了如何绘制一个点,接下来就用web ...
- WebGL自学教程——WebGL演示样例:開始
最终開始WebGL的演示样例了,...... 開始 使用WebGL的步骤,非常easy: 1. 获得WebGL的渲染环境(也叫渲染上下文). 2. 发挥你的想象力,利用<WebGL參考手冊> ...
- [WebGL入门]四,渲染准备
注意:文章翻译http://wgld.org/,原作者杉本雅広(doxas),文章中假设有我的额外说明,我会加上[lufy:].另外.鄙人webgl研究还不够深入,一些专业词语,假设翻译有误,欢迎大家 ...
- WebGL入门教程(五)-webgl纹理
前面文章: WebGL入门教程(一)-初识webgl WebGL入门教程(二)-webgl绘制三角形 WebGL入门教程(三)-webgl动画 WebGL入门教程(四)-webgl颜色 这里就需要用到 ...
随机推荐
- vijos p1071新年趣事之打牌
描述 过年的时候,大人们最喜欢的活动,就是打牌了.xiaomengxian不会打牌,只好坐在一边看着. 这天,正当一群人打牌打得起劲的时候,突然有人喊道:“这副牌少了几张!”众人一数,果然是少了.于是 ...
- [Mac][phpMyAdmin] [2002] No such file or directory
我从phpMyAdmin的官网下载了最新版,将它解压到 /Library/WebServer/Documents 下,然后把文件夹改名 phpmyadmin . 接着输入在浏览器中输入 localho ...
- 在 Azure 中使用公用 IP 创建多 NIC VM
Russ Slaten 2014年 11 月 18日下午 4点 我们最近宣布了支持具有多个网络接口控制器 (NIC) 的虚拟机 (VM).我仍在努力了解此功能适用的所有新场景,但首先,我希望亲自测试 ...
- Kooboo CMS的安装步骤
Kooboo CMS的安装步骤 来自Kooboo document 跳转到: 导航, 搜索 http://www.microsoft.com/web/gallery/install.aspx?appi ...
- Java was started but returned exit code=13 C:\ProgramData\Oracle\Java\javapath\javaw.exe
---------------------------Eclipse---------------------------Java was started but returned exit code ...
- Base-Android快速开发框架(五)--网络操作之RequestModel、ResponeModel、CustomAsyncHttpClient
在正式介绍CustomAsyncHttpClient之前,刚好最近有一个朋友找我帮忙给他们看下一个APP.我先上一段代码截图.一段检测版本更新的接口代码.
- MFC常用类
CString CStringT 操作可变长度字符串的模板类CStringT有三个实例:CString.CStringA和CStringW,它们分别提供对TCHAR.char和wchar_t字符类型的 ...
- Log Explorer使用说明
一.介绍 Log Explorer主要用于对MSSQLServer的事物分析和数据恢复.你可以浏览日志.导出数据.恢复被修改或者删除的数据(包括执行过update,delete,drop和trunca ...
- Python Paste.deploy 笔记
首先python paste是一个WSGI工具包,在WSGI的基础上包装了几层,让应用管理和实现变得方便.说实话,Python Paste的文档做的真差劲!加之python代码可读性本来就不怎么滴,真 ...
- HDU 2476 String painter (区间DP)
题意:给出两个串a和b,一次只能将一个区间刷一次,问最少几次能让a=b 思路:首先考虑最坏的情况,就是先将一个空白字符串刷成b需要的次数,直接区间DP[i][j]表示i到j的最小次数. 再考虑把a变成 ...