Overview
The @luma.gl/engine module contains higher-level rendering and application framework classes built on top of @luma.gl/core.
Use the engine module when you want luma.gl to manage the common rendering workflow for you: creating pipelines from shaders, binding buffers and textures, handling redraw state, and issuing draw calls through a small set of reusable classes.
Start Here
Modelis the central rendering class and the page most users are looking for when they want the main luma.gl drawing API.Materialsexplains whatMaterialandMaterialFactoryrepresent in the engine layer.ClipSpaceandBackgroundTextureModelprovide ready-made fullscreen rendering helpers.AnimationLoopmanages per-frame rendering and animation state.GeometryandGeometriesprovide reusable mesh and attribute helpers.GPUGeometrydescribes already-uploaded geometry buffers.Scenegraph,GroupNode, andModelNodecover scenegraph organization.PickingManagerhandles object picking and highlight state for models that use the engine picking shader modules.Computation,BufferTransform, andTextureTransformcover engine-level compute workflows.ShaderPassRendererapplies shader passes to textures for postprocessing pipelines.
Remarks
- The engine classes are built on top of the abstract API in
@luma.gl/coreand are portable between WebGPU and WebGL backends. - If you are coming from older luma.gl docs and are looking for
Program, the current v9 API usually maps that workflow toModelfor higher-level rendering orRenderPipelinefor lower-level pipeline control. - If you specifically need legacy
Programdocumentation, use the porting guide and other legacy docs rather than treating it as the primary v9 API surface. - If you are coming from older docs looking for
Transform, the current v9 engine APIs areBufferTransform,TextureTransform, andComputation, depending on whether you are targeting WebGL transform feedback, texture-based transforms, or WebGPU compute passes.