同时具有 preserveDrawingBuffer 和 autoClear 渲染器属性的原因是什么?

What is the reason for having both preserveDrawingBuffer and autoClear renderer properties?

即使 autoClear 设置为 false,渲染器也会在渲染之前清除其输出,因为构造函数 属性 preserveDrawingBuffer 默认设置为 false。

这两个属性都可以控制渲染器在渲染输出之前是否清除。它们也相互冲突(如果一个为假,另一个必须为真,反之亦然)。

有没有理由让渲染器的两个属性做同样的事情?

它们是不同的问题。

renderer.autoClear = false 是合适的,例如 multiple render passes, or if you are doing post-processing with THREE.EffectComposer and BloomPass

preserveDrawingBuffer 是必需的,例如,如果您出于某种原因 require persistence

编辑:preserveDrawingBuffer = true 截图。

three.js r.87