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.DynamicBuffer,DynamicTexture, andVideoTextureprovide stable engine-level wrappers for GPU resources and live texture sources that can be replaced or initialized over time. Experimental v10@luma.gl/experimentalWebXR helpers use the same binding-source path for WebXR Raw Camera Access without making WebXR part of the engine module.ClipSpaceandBackgroundTextureModelprovide ready-made fullscreen rendering helpers.AnimationLoopmanages per-frame rendering and animation state.OrbitControlsadds pointer-driven camera orbit, wheel zoom, configurable pitch and distance limits, and optional automatic rotation to an HTML canvas.AnimationMixer,AnimationClip, andAnimationTrackprovide reusable keyframe playback, looping, interpolation, blending, and crossfades. The animation programming guide covers complete playback examples.GeometryandGeometriesprovide reusable mesh and attribute helpers.Morph-target helpersapply weighted vertex deformation and update existing model buffers without rebuilding rendering pipelines.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.