File: ProgressiveLightMap.md | Updated: 11/15/2025
Progressive Light Map Accumulator, by zalo.
To use, simply construct a ProgressiveLightMap object, plmap.addObjectsToLightMap(object) an array of semi-static objects and lights to the class once, and then call plmap.update(camera) every frame to begin accumulating lighting samples.
This should begin accumulating lightmaps which apply to your objects, so you can start jittering lighting to achieve the texture-space effect you're looking for.
This class can only be used with WebGLRenderer. When using WebGPURenderer, import from ProgressiveLightMapGPU.js.
ProgressiveLightMap is an addon, and must be imported explicitly, see Installation#Addons.
import { ProgressiveLightMap } from 'three/addons/misc/ProgressiveLightMap.js';
Constructs a new progressive light map.
renderer | The renderer.
---|---
res | The side-long dimension of the total lightmap. Default is 1024.
The renderer.
The side-long dimension of the total lightmap.
Default is 1024.
Sets these objects' materials' lightmaps and modifies their uv1's.
objects | An array of objects and lights to set up your lightmap.
---|---
Frees all internal resources.
Draws the lightmap in the main scene. Call this after adding the objects to it.
visible | Whether the debug plane should be visible
---|---
position | Where the debug plane should be drawn
This function renders each mesh one at a time into their respective surface maps.
camera | The camera the scene is rendered with.
---|---
blendWindow | When >1, samples will accumulate over time. Default is 100.
blurEdges | Whether to fix UV Edges via blurring. Default is true.