Three.js渲染画布的最大尺寸是多少?

时间:2018-11-28 11:14:19

标签: javascript canvas three.js webgl

当我将渲染画布大小设置为〜4000x4000px时,就可以了,但是从4000左右(经过测试的5k,6k,8k)开始,场景似乎以某种方式被“切断”了。参见下图:

enter image description here

因此,在画布的中心正确地渲染了约4k的内容,对于较大的画布大小,它会剪切内容。

  1. 这是Three.js / WebGL的限制吗?
  2. 如果是,那么不会导致任何“变形”的实际最大画布尺寸是什么?
  3. 我能做些什么吗?我需要获得高分辨率(8k)的画布快照。

2 个答案:

答案 0 :(得分:3)

这不是three.js的限制,而是绘图缓冲区的最大大小的限制。它是由浏览器供应商定义的,应用程序不能超过它。有关此github问题的更多信息:

https://github.com/mrdoob/three.js/issues/5194

答案 1 :(得分:3)

  

有什么我可以做的吗?我需要获得高分辨率(8k)的画布快照。

您可以使用Camera.setViewOffset渲染场景的一部分,然后将这些部分组装成大图像。

这里是执行此操作的库

https://greggman.github.io/dekapng/

我知道我在这里写了一个答案,该答案显示了由于我的回答而编写该库以来在Three.js中的实现方法。不幸的是10分钟的搜索没有显示>:(