Introduction
This is the luma.gl documentation, covering
Looking for an older version?
luma.gl is a GPU toolkit for the Web, focused primarily on visualization of large datasets, however the design is generic and supports more general 3D usage. luma.gl is the core rendering library in the vis.gl framework suite.
Highlights
luma.gl aims to help developers stay in control of GPU programming and work directly with shaders and GPU data structures. By offering a low abstraction API that remains conceptually close to the underlying WebGPU and WebGL APIs, luma.gl focuses on the processing of data on the GPU rather than higher level 3D engine type abstractions.
Some key features of luma.gl are:
- A device-independent API that enables applications to portably access GPU resources.
- A GLSL shader system supporting modules, dependencies, injection, transpilation etc.
- A few high-level classes such as
Model,TransformandAnimationLoop.
Showcases
For some high-impact examples of what can be achieved with luma.gl, take a look at:
- kepler.gl (GitHub) a powerful open source geospatial analysis tool for large-scale data sets
- deck.gl (GitHub) a WebGL-powered framework for visual exploratory data analysis of large data sets
- avs.auto and streetscape.gl A visualization toolkit for autonomy and robotics data encoded in the XVIZ protocol
![]() |
![]() |
![]() |
|---|---|---|
| kepler.gl | AVS | VIV |
Standards
luma.gl supports the latest 3D web standards from Khronos and W3C. In addition, luma.gl integrates seamlessly with the companion loaders.gl framework, ensuring that a long list of 3D and geospatial data format standards are supported out of the box.
Open Governance
luma.gl is a part of the vis.gl framework suite, an open governance Linux Foundation project that is developed collaboratively by multiple organizations and individuals and the Urban Computing Foundation.
Check out the vis.gl Medium blog, and join the community in the Slack workspace for learning and discussions.
Current main contributors to the development and maintenance of luma.gl:
History
luma.gl was originally created at Uber in 2015 as an open source project to support deck.gl. It started out as a fork of the PhiloGL WebGL library but has evolved beyond recognition.
In 2019, luma.gl was transferred to open governance in the Linux Foundation.
Future
luma.gl keeps evolving based on the needs of downstream frameworks and applications. One primary focus is supporting more advanced GPU compute use cases.
We share information about the direction of luma.gl in the following ways:
- RFCs - RFCs are technical writeups that describe proposed features in upcoming releases.
- Roadmap Document - (this document) A high-level summary of our current direction for future releases.
- Blog - We use the vis.gl blog to share information about what we are doing.
- Github Issues - The traditional way to start or join a discussion.


