【发布时间】:2015-07-20 12:00:27
【问题描述】:
我正在尝试使用 thee.js 来仅更新 zbuffer(我正在使用 preserveDrawingBuffer 来创建跟踪效果)。 但是我找不到任何方法只使用标准材料写入 zbuffer,到目前为止我已经尝试过:
- 将材质的
visible设置为 false,这会停止对象渲染。 - 将材质的
opacity设置为 0.0,这意味着不会渲染任何内容。
是否有“标准”方式来执行此操作,或者我是否需要使用自定义片段着色器?
【问题讨论】:
-
看看这个(有点老的)讨论:github.com/mrdoob/three.js/issues/1750。无论如何,当您设置 opacity 0 或 visible=false 时,对象根本不会渲染,因此它甚至不会到达 z 缓冲区。您可能想尝试提供非常低的不透明度而不是绝对 0,或者使用不可见纹理(具有不可见像素的 1x1 纹理)而不是设置材质不透明度。然后它将渲染但不会改变实际颜色。但这些是我建议找到正确方法的技巧。
标签: three.js depth-buffer zbuffer