luma.gl/docs/api-reference

Overview

luma.gl is packaged and published as a suite of composable npm modules, so that applications can choose what functionality they need.

Module Usage Description
@luma.gl/api Required The "Abstract" Device API (implemented by both the webgpu and webgl modules).
@luma.gl/webgl Required * Device adapter implemented using the WebGPU API. Enables creation of WebGPU resources
@luma.gl/webgpu Required * Device adapter implemented using the WebGL API. Enables creation of WebGL resources.
@luma.gl/core Recommended A set of WebGPU/WebGL independent core 3D engine style classes built on top of @luma.gl/api.
@luma.gl/shadertools Recommended System for modularizing and composing shader code, shader module system, transpiler, shader modules.
@luma.gl/experimental Optional Contains Scenegraph, glTF loader, GPU algorithms, VR classes etc.
@luma.gl/test-utils Optional Test setups, in particular support for rendering and comparing images.
@luma.gl/debug Optional Tooling to aid in WebGL debugging

* At least one backend, either WebGL or WebGPU, must be installed to enable GPU resource creation.

luma.gl also includes some legacy modules that should be avoided in new applications.

Legacy Module Status Description Replacement
@luma.gl/webgl-legacy Deprecated The deprecated luma.gl v8 API can now be imported from @luma.gl/webgl-legacy.
@luma.gl/constants Deprecated WebGL constants. No longer used in luma.gl v9.
@luma.gl/engine Deprecated A set of core classes that are independent from their engine Use @luma.gl/core.
@luma.gl/gltools Removed Legacy WebGL Context API from luma.gl v8 part of Device and CanvasContext