如何仅使用 three.js 写入 zbuffer
How to write to zbuffer only with three.js
我正在尝试使用 thee.js 来仅更新 zbuffer(我正在使用 preserveDrawingBuffer 来创建跟踪效果)。
但是我找不到任何方法只使用标准 materials 写入 zbuffer,到目前为止我已经尝试过:
- 将 material 的
visible
设置为 false,这会停止对象渲染。
- 将 material 的
opacity
设置为 0.0,这意味着不渲染任何内容。
是否有 'standard' 方法可以做到这一点,或者我是否需要使用自定义片段着色器?
您只能使用以下模式渲染到深度缓冲区。
renderer.context.colorMask( false, false, false, false ); // don't update color buffer
renderer.render( scene1, camera ); // first scene
renderer.context.colorMask( true, true, true, true );
renderer.render( scene2, camera ); // second scene
three.js r.71
我正在尝试使用 thee.js 来仅更新 zbuffer(我正在使用 preserveDrawingBuffer 来创建跟踪效果)。 但是我找不到任何方法只使用标准 materials 写入 zbuffer,到目前为止我已经尝试过:
- 将 material 的
visible
设置为 false,这会停止对象渲染。 - 将 material 的
opacity
设置为 0.0,这意味着不渲染任何内容。
是否有 'standard' 方法可以做到这一点,或者我是否需要使用自定义片段着色器?
您只能使用以下模式渲染到深度缓冲区。
renderer.context.colorMask( false, false, false, false ); // don't update color buffer
renderer.render( scene1, camera ); // first scene
renderer.context.colorMask( true, true, true, true );
renderer.render( scene2, camera ); // second scene
three.js r.71