Paint per-geometry heat maps onto params.sceneModel and reskin
its objects to display them.
For each triangle geometry the function:
Resolves the scalar field via params.scalars (default:
world-up elevation).
Calls the heat-map painter to rasterise the field into a
colour map and produce matching UVs.
Writes the painted uvsCompressed back onto the
SceneGeometry.
Creates the three SceneTextures (colour, normal, mr) and a
SceneMaterial on the SceneModel, namespaced by geometry
id.
Then walks sceneModel.objects and, for each SceneObject,
snapshots + destroys + recreates the object's meshes bound to
their geometry's heat-map material. Mesh transforms / opacity /
parent-transform bindings are preserved.
Limitations:
Only triangle geometries are painted (TrianglesPrimitive,
SolidPrimitive, SurfacePrimitive); points and lines are
skipped (their meshes keep their original material).
Geometries shared across multiple meshes display the same heat
map on every instance — UVs are stored on the geometry, so
the scalar field has to be a property of the geometry, not
the mesh.
Geometries without indices or with empty AABBs are skipped.
Paint per-geometry heat maps onto
params.sceneModeland reskin its objects to display them.For each triangle geometry the function:
params.scalars(default: world-up elevation).uvsCompressedback onto theSceneGeometry.SceneTextures (colour, normal, mr) and aSceneMaterialon theSceneModel, namespaced by geometry id.Then walks
sceneModel.objectsand, for eachSceneObject, snapshots + destroys + recreates the object's meshes bound to their geometry's heat-map material. Mesh transforms / opacity / parent-transform bindings are preserved.Limitations:
TrianglesPrimitive,SolidPrimitive,SurfacePrimitive); points and lines are skipped (their meshes keep their original material).