Luxar Viewer API Documentation - v2026.9.22
    Preparing search index...

    Module rendering/post-processing/fullscreen/pass

    Reusable fullscreen-triangle render pass.

    Owns the small boilerplate that every post-processing stage repeats: the shared caps-aware fullscreen-triangle geometry, the mesh that wraps it, a single-mesh Scene, and the unit OrthographicCamera that THREE.WebGLRenderer.render / WebGPURenderer.render need as their second argument.

    Centralising this here means:

    1. The caps-aware createFullscreenTriangleGeometry call lives in exactly one place, so future Y-orientation tweaks don't have to be applied per pass.
    2. The frustumCulled = false invariant (without it the renderer sometimes culls the triangle because its bounding sphere is small relative to NDC) is held in one constructor.
    3. The render scene/camera pair is shared, so consumers stop carrying this.scene / this.camera / this.mesh triples on their own.

    The bloom chain reuses one FullscreenPass across its three materials (threshold, downsample, upsample) by calling FullscreenPass.setMaterial between draws — mirroring what the pre-extraction code already did against the bare mesh.material.

    FullscreenPass