webGL和Canvas之间的关系?

我是刚刚开始接触3D,在网上看了一些文章,比较疑惑webGL与Canvas的关系,不知道我这样理解对不对:canvas的3D渲染是基于webGL的,当使用canvas的3D渲染的时候,实际上调用的就是webGL?是这样么?

阅读 30.4k
5 个回答

了解之前可以先看看OpenGL
OpenGL是 底层的驱动级的图形接口(是显卡有直接关系的) 类似于 DirectX
但是这种底层的OpenGL是 寄生于浏览器的JavaScript无法涉及的
但是为了让Web拥有更强大的 图形处理能力 2010年时候WebGL被推出来
WebGL允许工程师使用JS去调用部分封装过的 OpenGL ES2.0标准接口去 提供硬件级别的3D图形加速功能

三者的关系是 JavaScript -> WebGL -> OpenGL ->.... -> 显卡 并把最终渲染出来图形 呈现到Canvas

canvas就是画布,只要浏览器支持,可以在canvas上获取2D上下文和3D上下文,其中3D上下文一般就是webgl。

Canvas 是HTML5提供的一个特性,你可以把它当做一个载体,简单的说就是一张白纸。而Canvas 2D 相当于获取了内置的二维图形接口,也就是二维画笔。Canvas 3D 是获取基于 WebGL的图形接口,相当于三维画笔。你可以选择不同的画笔在上面作画。

canvas应该是2D画布,3D的话就是用webgl。

canvas让web具有绘图能力,webGL让canvas具有3D渲染能力

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题