Führt diesen Pass aus.
Der ausführende WebGL-Renderer (WebGL1 oder WebGL2).
View-Projection Matrix.
Kamera-Position.
Die extrahierten Lichter der Szene.
Kamera-Near-Plane.
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.
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 formulacluster_cull.wgsluses on WebGPU -- and only visits the cluster cells within that range, instead of testing every cell against every light.Packs point and spot data into 2 textures: RGBA32UI grid (point.rg, spot.ba) and RG32UI index (point.r, spot.g) to strictly fit within the 16-texture-unit hardware limit (MAX_TEXTURE_IMAGE_UNITS = 16).