Search code examples
three.jspost-processing

Post-processing to selected meshes


In three.js is it possible to apply postprocessing effects only to selected meshes?

For example to have a cube with grain effect while the rest of the scene does not have it. Thank you!


Solution

  • Yes. There is a three.js example that shows how to apply postprocessing to selected meshes using masking.

    I think that example can be improved for clarity, but you can modify the example like so:

    composer4 = new THREE.EffectComposer( renderer, new THREE.WebGLRenderTarget( rtWidth, rtHeight, rtParameters ) );
    
    composer4.addPass( renderScene );
    composer4.addPass( renderMask );
    composer4.addPass( effectDotScreen );
    composer4.addPass( clearMask );
    composer4.addPass( effectVignette );
    

    You will get an output like this:

    postprocessing to selected mesh

    It is a complicated example, so you will have to study it carefully.

    three.js.r.77