w88975
2015-07-29 00:42:28 +08:00
楼上说的很详细了,那我就说一些用途吧.
svg矢量图,可以代替一些图片,多用于图标,以及图表上,优势在于拥有HTML的event事件,交互起来很方便.
canvas一般用于绘制比较复杂的动画,做游戏之类的,由于canvas是HTML5带的,所以不支持低版本浏览器,特别是IE,canvas只是一个画布,绘制上去的东西,例如图片,都是转换成像素点绘制上去的,所以没有event事件,如果需要添加交互事件,需要自己手动计算绘制的对象所在坐标以及层级,还好这部分有第三方库.基本上除了HTML5游戏,一些酷炫的动画,正常的网页交互很少用到.
WebGL 从名字上看就知道和OpenGL很像,暂且看作能在浏览器上运行的OpenGL吧,WebGL的HTML节点名称用的也是canvas,但是他的渲染则和canvas不同,他可以支持硬件加速,支持3D,可用于3D游戏的开发,目前很少有3D的HTML5游戏,现在你能看到很多酷炫的图形交互的3D图表,大多用WebGL来渲染的.