Canvas 、WebGL 、SVG和Three.js都可以在浏览器中绘制2D、3D图形,其区别如下:

1、SVG:

使用XML语言描述,只能绘制二维图形。

<svg width="100%" height="100%" version="1.1"
xmlns="http://www.w3.org/2000/svg">

<circle cx="100" cy="50" r="40" stroke="black"
stroke-width="2" fill="red"/>

</svg>

2、Canvas

HTML5的新元素,支持2D和WebGL

var canvas4 = document.getElementById("canvas4");
    var context4 = canvas4.getContext("2d");
    canvas4.width = 400;
    canvas4.height = 400;
    context4.beginPath();
    context4.arc(100, 100, 1, 0, Math.PI * 2, true);
    context4.closePath();
    context4.fillStyle = 'rgb(255,255,255)';
    context4.fill();

3、WebGL

WebGL是一个技术标准,可以实现3D绘图。三维场景需要通过HTML的Canvas元素来实现。通过getContext()方法,参数是2d返回2D绘图环境,参数是’webgl’返回3D,也就是WebGL绘图环境。

 var canvas=document.getElementById('webgl');

4、three.js

基于WebGL的一款的三维引擎。three.js

03-05 15:35