1.为什么用webGl 不直接用canvas

webgl是一套图形接口,用的语言是javascrip,它是用来在浏览器中直接操作CPU的。而Canvas是一个HTML元素,主要的作用是
为webgl提供上下文,即:把CPU的绘制结果呈现在浏览器上面。例如:我用CPU画一个小人,浏览器上只能用cavans这个元素来展示CPU的绘制结果。
我们平时用的div,span这些元素,是浏览器封装好的图形,只能够改变他的大小和颜色。但是通过javascript给CPU传递一些复杂的数据信息(位置,颜色,大小),就可以
告诉CPU在屏幕上,哪个地方,绘制什么样的图形。

2.如果说是3D 那又有什么好处

3D有好处,也有坏处。好处就是更真实,可交互性更强。能模拟出现实的世界。例如3D游戏就普遍要比2D的好玩,让人有代入感。还有3D模型设计,
能够看到模型的360度细节。而2D则做不到。

3.比如有没有什么工具直接用设计图生成 webGl 代码

当然有,游戏引擎Unity公司就提供了这种设计生成webgl的代码和场景。不过学习Unity也是要花费不少的时间的。

4.webGL 的用途 一般作用在什么场景

webgl的用途主要是基于两点:web端,3D场景。
web端的优势就是无需安装下载,一个链接快速传播。3D的优势就是对复杂的设计和游戏,更有细节感和符合人的直觉。