mirror of
https://github.com/visgl/luma.gl.git
synced 2025-12-08 17:36:19 +00:00
RFCs and Roadmaps (luma.gl)
Implementation of non-trivial new luma.gl features should typically be started off with the creation of an RFC (Request for Comments). For more details see RFC Guidelines .
Roadmaps
Writeups of directions in major areas of interest
| Roadmap | Description |
|---|---|
| Shadertools | shader module system roadmap |
| GPGPU | gpgpu roadmap |
| Effects | Gradually build out our shader stack |
| Scenegraph and Loaders | Improved scenegraph and loader support |
Longer-Terms RFCs
These are early ideas not yet associated with any release
| RFC | Author | Status | Description |
|---|---|---|---|
| WIP/Draft | |||
| Off-Thread (aka Off-Screen) Rendering | @pessimistress | Experimental | Use the new Off-Screen API to enable WebGL to run in a separate thread. Still requires browser flag. |
| Automatic Shader Module Injection | @ibgreen | Draft | Automatically inject code required by a shader module |
| Dist Size Reduction | @ibgreen | Draft | Reduce luma.gl impact on app bundle size |
v6.x RFCs
Current direction for luma.gl v6.x is to focus on:
- GPGPU compute - rich library for building and testing, WebGL1 fallbacks for transform feedback/floating point
- shader modules - shader module system improvements for GPGPU
- performance - especially shader compilation/linking execution performance
- improved WebGL2 support - more examples
- code size
| RFC | Author | Status | Description |
|---|
v6.2 RFCs
| RFC | Author | Status | Description |
|---|---|---|---|
| luma.gl Module Structure | @ibgreen | Draft | Outlines module structure to be used in monorepo transition. |
| Floating Point Textures in Transforms | @1chandu | Review | Floating Point Texture Support in Transform class |
| WebGL1 Support for Transforms | @1chandu | Review | Use render to texture and float packing to emulate transform feedback under WebGL1 |
v6.1 RFCs
| RFC | Author | Status | Description |
|---|---|---|---|
| Multipass Rendering | @ibgreen | Implemented | Multipass rendering system for postprocessing effects and advanced rendering |
| New Loaders Module | @ibgreen | Implemented | New loaders.gl submodule collecting framework-agnostic, thread-capable 3D format loaders. |
v6.0 RFCs
| RFC | Author | Status | Description |
|---|---|---|---|
| Centralize Attribute Management in VertexArray | @ibgreen | Implemented | Move attribute management to VertexArray |
| Portable GLSL 3.00 Shader Modules | @ibgreen | Implemented | "Transpile" GLSL 3.00 to 1.00 and vice versa. |
| Shader Fragment Injection | @ibgreen | Implemented | Enables short fragments of code to be injected into existing shaders |
v5.2 RFCs
| RFC | Author | Status | Description |
|---|---|---|---|
| New Transform Class | @1chandu | Implemented | Simpler API for TransformFeedback |
v5.0 RFCs
Release Focus: Address any WebGL2 issues from 4.0.
| RFC | Author | Status | Description |
|---|---|---|---|
| Break out Math Module | @ibgreen | Implemented | Break out luma.gl math module |
v4.0 RFCs
Version 4.0 focused on:
- Exposing the complete WebGL2 API
- Adding WebGL state management
- Shader module support
- Completing documentation
v3.0 RFCs
Version 3.0 focused on improving luma.gl documentation