处理多个画布上下文的解决方案
Solution for handling multiple canvas contexts
我正在构建一个图形web应用程序,其中我将有一个元素来绘制并最终流其内容。
问题是我的目标是使用一些需要画布上下文的库(three.js, sketch.js等),在某些情况下需要不同类型的上下文。其他需要'2d'上下文,其他需要'webgl'上下文等。
什么是一个可靠的方法,如何处理所有这些lib绘制在画布上,当我想有一个画布在结束流?
现在我为每个库创建一个隐藏画布,并有一个主渲染循环,我调用:
masterCtx.drawImage(canv1, 0, 0);
masterCtx.drawImage(canv2, 0, 0);
//etc
,但以后我可能也有其他库需要上下文。我应该只有一个画布和一个上下文,并尝试实现所有的功能,图书馆实现那里我自己从零开始?我还有别的选择吗?
我的标准是性能、可扩展性和鲁棒性。
谢谢
你不能在一张画布上有两个不同的上下文。
解决方案:
-
多个屏幕外画布,然后将它们绘制成一个可见的画布
-
使用CSS重叠多个屏幕画布
示例:http://webglfundamentals.org/webgl/lessons/webgl-text-canvas2d.html
ctx.save()
&保存和恢复2d画布的所有状态。ctx.restore()
但是保存和恢复WebGL的所有状态将是一个巨大的开销
相关文章:
- 可以转换显示属性吗?如果没有,什么'这是最好的解决方案
- iPad虚拟键盘-哪一个-javasctript解决方案
- AJAX HTTP基本身份验证解决方案
- 在chrome web商店中打开时,是否有允许执行内容/后台脚本的解决方案
- Chart.js-添加渐变而不是纯色-实现解决方案
- learnyounode杂耍异步解决方案不工作
- 了解因子分解解决方案
- 提交表单后的最佳解决方案
- 计时器在使用 jQuery 一分钟后没有触发,或者每 1 分钟后给出一些其他解决方案来触发功能
- chrome中的意外全局变量有解决方案吗
- 更好的解决方案HTML元素幻灯片从右侧CSS转换
- 使用SeleniumWebdriver将文本复制到文件时出现编译错误的解决方案
- 如何让我的网站上的WEBP图像加载在morzilla firefox中有一个可能的解决方案吗?如果是,那么如何
- JS驱动的常见问题页面的推荐DB解决方案
- 这里有一个更优雅的/DRY/可维护的JS解决方案
- 什么是农民最实用的解决方案;印刷动物”;
- 根据某些条件验证用户输入,而不是将输入输入到数组中,需要最基本的解决方案
- 将数据加载到地图上的更好解决方案
- 处理多个画布上下文的解决方案
- 除了绑定之外,任何其他上下文解析的解决方案都在承诺中