How it works
EffectComposer (@react-three/postprocessing) merges effects into as few passes as possible. Shadows come from a single directional light with a tight shadow camera.
Dynamic soft shadows plus a bloom + depth-of-field + vignette post-processing pipeline.
EffectComposer (@react-three/postprocessing) merges effects into as few passes as possible. Shadows come from a single directional light with a tight shadow camera.
This demo uses its own Canvas on purpose: full-screen composers do not work inside scissored Views. It is gated to the high tier; mid/low get bloom only / no post FX.
In reduced mode the scene renders on demand only: a static, fully lit frame with no idle motion.
uniform float uBloom; // 1.4 uniform float uThreshold; // 0.6 uniform float uFocus; // 6 uniform float uBokeh; // 3 uniform bool uDof; // true