我试图使用两个画布并排绘制相同的WebGL场景.可能吗?到目前为止,我还没有幸运.
这个想法如下:
gl上下文,每个画布一个drawElements通过我的几何体的第一个上下文drawElements通过我的几何的第二个上下文结果:只有第一次调用成功.第二个上下文gl.clear正确执行但不显示几何.
我错过了什么?这是一个规范约束?或Firefox和Safari的实现限制?
谢谢,
Toj*_*oji 22
是的,您可以在页面上拥有多个WebGL上下文,但每个上下文必须管理它自己的资源.您无法在一个上下文中创建缓冲区或纹理,然后在另一个上下文中使用它们,因此如果要渲染相同的场景,则需要使用此方法,您需要将所有资源加载两次.
这肯定是可行的,但它会非常耗费内存(正如您可能想象的那样).更好的解决方案是创建一个宽度是所需宽度的2倍的上下文,并使用gl.viewport和gl.scissor为场景的每个视图渲染一半.
或者,制作一个完整的视口大小画布,并使用剪刀/视口设置来匹配其他html元素.看到这个问答:我们如何在webgl中的两个画布中显示相同的对象?
| 归档时间: |
|
| 查看次数: |
8384 次 |
| 最近记录: |