webGL和Canvas之间的关系?
我是刚刚开始接触3D,在网上看了一些文章,比较疑惑webGL与Canvas的关系,不知道我这样理解对不对:canvas的3D渲染是基于webGL的,当使用canvas的3D渲染的时候,实际上调用的就是webGL?是这样么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我是刚刚开始接触3D,在网上看了一些文章,比较疑惑webGL与Canvas的关系,不知道我这样理解对不对:canvas的3D渲染是基于webGL的,当使用canvas的3D渲染的时候,实际上调用的就是webGL?是这样么?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(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渲染能力