【问题标题】:What are maximum dimensions of Three.js render canvas?Three.js 渲染画布的最大尺寸是多少?
【发布时间】:2019-04-30 06:49:58
【问题描述】:

当我将渲染画布大小设置为 ~4000x4000px 时,它没问题,但是从大约 4000(测试为 5k、6k、8k)开始,场景似乎在某种程度上被“切断”了。见下图:

因此,最多 4k 的内容会在画布的中心正确呈现,而对于更大的画布尺寸,它会削减内容。

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

【问题讨论】:

    标签: javascript canvas three.js webgl


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我能做些什么吗?我需要获取高分辨率 (8k) 的画布快照。

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

      这是执行此操作的库

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

      我知道我在这里写了一个答案,显示了如何在 three.js 中执行此操作,因为我写了那个库是因为我的答案。不幸的是,10分钟的搜索没有出现>:(

      【讨论】:

      • 这太棒了!
      猜你喜欢
      • 2015-01-22
      • 2011-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-12
      • 2011-02-05
      • 2012-09-30
      • 2019-05-04
      相关资源
      最近更新 更多