Skip to main content

Visualization and compute, at GPU scale.

Move massive datasets through GPU-resident pipelines. Filter, aggregate, project, and render without unnecessary CPU round trips. luma.gl is a modular, TypeScript-first framework for data-intensive visualization, portable GPU programming, and high-quality interactive rendering.

Choose the level you need: typed columnar data, GPU-resident dataframes, graph and raster analytics, reusable compute operations, rendering primitives, composable visual effects, or retained three-dimensional scenes.

Massive data. GPU-native compute. Interactive visualization. WebGPU and WebGL2.

The framework, module by module

GPU-native computationCompute and GPU tablesConnect GPU-resident columns, reusable operations, filtering, aggregation, and large-scale visualization.@luma.gl/gpgpu · @luma.gl/experimentalExperimental GPU analyticsDataframes, graphs, and rastersQuery GPU-resident tables, discover graph communities, and analyze cached scientific or geospatial raster tiles without unnecessary readback.GPU Dataframe · GPU analytics · GPURaster@luma.gl/experimental · experimental packagePortable GPU foundationCore, WebGPU, and WebGLOne application-facing device API for buffers, textures, pipelines, commands, and explicit GPU resource ownership.@luma.gl/core · @luma.gl/webgpu · @luma.gl/webglRendering engineModels, geometry, and animationBuild with models, GPU geometry, picking, instancing, render loops, and reusable animation mixing.@luma.gl/engineShader programmingReusable shaders and modulesCompose WGSL and GLSL with typed shader modules, injection hooks, lighting, and high-precision visualization tools.@luma.gl/shadertoolsVisual effectsComposable image processingCombine bloom, ambient occlusion, reflections, indirect light, volumetrics, motion blur, and temporal antialiasing.@luma.gl/effectsExperimental retained scenesANARI / Scene APIDescribe cameras, geometry, lights, and renderers; explore glTF and experimental OpenUSD import in the Scene Playground.@luma.gl/scene · experimental packageANARI-inspired; not an ANARI-conformant implementation.Assets and materialsglTF and physically based shadingRender portable PBR assets, native glTF extensions, skeletal and morph animations, and independently animated GPU-instanced crowds.@luma.gl/gltfExperimental neural renderingStreaming Gaussian splatsRender progressively streamed captured scenes with view-dependent harmonics, semantic picking and filtering, and bounded tile residency.@luma.gl/splats · experimental package

WebGPU logo by W3C, used under the Creative Commons Attribution 4.0 International license. Standards marks identify related technologies and do not imply endorsement, certification, or conformance.

How to read the feature matrices

StatusMeaning
AvailableImplemented in a published framework module, subject to documented device and browser requirements.
EvolvingImplemented in a published module, but integration or feature coverage remains incomplete.
ExperimentalImplemented in a published incubating module whose public contract may still change.
OpportunityA useful extension or known limitation; do not interpret it as existing functionality.

WebGPU + WebGL2 means an application-facing path exists for both backends; exact shader, texture, or device-feature requirements can still differ. WebGPU identifies capabilities that require compute shaders, storage resources, or another WebGPU-specific implementation.

Explore the detailed matrices