Renderer · const

SURFACE_TEXTURE_UNIT

Where surface colour binds, directly above the shadow units.

Explained in Hello world.

const SURFACE_TEXTURE_UNIT: number
import { SURFACE_TEXTURE_UNIT } from '@driftengine/core';

In depth

Units 0–2 are the sun's static, peeled and mover depth layers; unit 3 is the point-shadow array, every light in one binding. This is the fifth, the normal map is the sixth, and ten of WebGL2's guaranteed sixteen are free — where the lit pass used to fill all sixteen exactly.

It lives here rather than in the renderer because this is where the unit accounting is written down. Raising MAX_POINT_LIGHTS no longer moves it: lights cost layers now, not units, which is the whole of what the octahedral change bought.