Small World Engine API Reference - v0.76.20
    Preparing search index...

    Class WebGLClusterCullPass

    CPU-side clustered light culling for WebGL2 (fixed-capacity-per-cluster, no atomics -- see docs/adr/0007-clustered-lighting-webgl2-webgpu-only.md). For each of the (up to 16) point/spot lights, computes its screen-space + radial-distance coverage range via lightClusterCoverage() -- the same formula cluster_cull.wgsl uses on WebGPU -- and only visits the cluster cells within that range, instead of testing every cell against every light.

    Only WebGL2 has clustered lighting -- the renderer instanceof WebGL2Renderer guard below is real, not decorative: this pass is typed against the shared AbstractWebGLRenderer interface (so WebGL1Renderer.addPass() would reject it at the type level if ever attempted by mistake, unlike the previous execute(renderer: WebGL2Renderer, ...) signature, which TypeScript's method-parameter bivariance let slide silently).

    Implements

    • WebGLRenderPass
    Index
    name: string = "WebGLClusterCullPass"

    Name des Passes

    • Führt diesen Pass aus.

      Parameters

      • renderer: AbstractWebGLRenderer

        Der ausführende WebGL-Renderer (WebGL1 oder WebGL2).

      • _scene: Scene
      • vp: Float32Array

        View-Projection Matrix.

      • camPos: Vector3D

        Kamera-Position.

      • _vMat: Float32Array<ArrayBufferLike> | undefined
      • _renderList: RenderList
      • extractedLights: LightDataInterface

        Die extrahierten Lichter der Szene.

      • near: number = 0.1

        Kamera-Near-Plane.

      • far: number = 1000

        Kamera-Far-Plane.

      • OptionalprojMatrix: Float32Array<ArrayBufferLike>

        Die rohe (nicht mit der View kombinierte) Projektionsmatrix dieses Frames -- explizit statt über ein public Renderer-Feld, s. WebGLClusterCullPass.

      Returns void