IFClite TypeScript API
    Preparing search index...

    Class RenderPipeline

    Index
    selectionColorUniform: SelectionColorUniform
    • Create a bind group for a textured mesh (#961): the mesh's own uniform buffer at binding 0, plus its albedo texture view + sampler at 1 & 2.

      Parameters

      • uniformBuffer: GPUBuffer
      • textureView: GPUTextureView
      • sampler: GPUSampler

      Returns GPUBindGroup

    • Destroy all GPU resources held by this pipeline. After calling this method the pipeline is no longer usable. Safe to call multiple times.

      Returns void

    • Create-and-VALIDATE the quantized pipeline variants. Uses createRenderPipelineAsync so WebGPU's asynchronous validation completes before anything is cached — a sync createRenderPipeline can hand back a pipeline whose validation later fails on the device, and caching that would make every quantized draw error. This is the ONLY creator; the sync getter below reads the cache. Returns whether all variants exist.

      Returns Promise<boolean>

    • Returns GPUBindGroup

    • Returns GPUBindGroupLayout

    • Returns GPUTextureFormat

    • Depth-only view (for sampling as texture_depth_* in shaders).

      Returns GPUTextureView

    • Returns GPUTextureView

    • Lighting-environment bind group — set at group(1) once per render pass.

      Returns GPUBindGroup

    • The X-Ray ghost pipeline, or null until it is built: the first call starts the async build and onReady runs when it lands. A failed build leaves ghosts on the transparent pipeline.

      Parameters

      • quantized: boolean
      • onReady: () => void

      Returns GPURenderPipeline | null

    • GPU-instancing pipeline (template vertex buffer at slot 0 + per-instance buffer at slot 1).

      Returns GPURenderPipeline

    • Returns GPURenderPipeline | null

    • Get multisample texture view (for MSAA rendering)

      Returns GPUTextureView | null

    • Returns GPUTextureView

    • Returns GPURenderPipeline

      Unused since #6076 (overrides shade from the entity colour table). TODO(remove-by: next major, #6076)

    • Returns GPURenderPipeline

    • Cache-only reader for the quantized variants (see ensureQuantizedPipelines); 'overlay' is never built since #6076.

      Parameters

      • kind: "opaque" | "transparent" | "overlay"

      Returns GPURenderPipeline | null

    • Get sample count

      Returns number

    • Returns GPURenderPipeline

    • Stencil-only view (for sampling stencil in the cap fill pass).

      Returns GPUTextureView

    • Textured-mesh pipeline (#961).

      Returns GPURenderPipeline

    • Returns GPURenderPipeline

    • Returns number

    • Check if resize is needed

      Parameters

      • width: number
      • height: number

      Returns boolean

    • Resize depth texture

      Parameters

      • width: number
      • height: number

      Returns void

    • Bind the scene's entity colour table (#6076); null binds the empty one. Rebuilds only on change.

      Parameters

      • buffer: GPUBuffer | null

      Returns void

    • Point the environment bind group at the active shadow depth map (#2670). Pass null to fall back to the 1×1 dummy (shadows off). Rebuilds the bind group only when the view actually changes, so a steady enabled/disabled state costs nothing per frame.

      Parameters

      • view: GPUTextureView | null

      Returns void

    • Write the global lighting environment uniform buffer. Cheap (80 bytes); called once per frame with the resolved RenderOptions.environment.

      Parameters

      Returns void

    • Write the sun shadow uniform (light matrix + params). 96 bytes.

      Parameters

      • data: Float32Array

      Returns void

    • Update uniform buffer with camera matrices, PBR material, section plane, and selection state

      Parameters

      • viewProj: Float32Array
      • model: Float32Array
      • Optionalcolor: [number, number, number, number]
      • Optionalmaterial: { metallic?: number; roughness?: number }
      • OptionalsectionPlane: {
            distance: number;
            enabled: boolean;
            flipped?: boolean;
            normal: [number, number, number];
        }
      • OptionalisSelected: boolean
      • OptionalclipBox: {
            enabled: boolean;
            max: [number, number, number];
            min: [number, number, number];
        }

      Returns void

    • Parameters

      • data: Float32Array
      • OptionalextraFlagsX: number

      Returns void