2023-11-10 07:04:16 -05:00

32 lines
2.6 KiB
Markdown

# 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/core`][core] | Required | The "Abstract" `Device` API (implemented by both the `webgpu` and `webgl` modules). |
| [`@luma.gl/webgl`][webgl] | Required \* | `Device` adapter implemented using the WebGPU API. Enables creation of WebGPU resources |
| [`@luma.gl/webgpu`][webgpu] | Required \* | `Device` adapter implemented using the WebGL API. Enables creation of WebGL resources. |
| [`@luma.gl/engine`][engine] | Recommended | A set of WebGPU/WebGL independent core 3D engine style classes built on top of `@luma.gl/core`. |
| [`@luma.gl/shadertools`][shadertools] | Recommended | System for modularizing and composing shader code, shader module system, transpiler, shader modules. |
| [`@luma.gl/experimental`][experimental] | Optional | Contains Scenegraph, glTF loader, GPU algorithms, VR classes etc. |
| [`@luma.gl/test-utils`][test-utils] | Optional | Test setups, in particular support for rendering and comparing images. |
\* 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/constants`][constants] | Deprecated | WebGL constants. | No longer used in luma.gl v9. |
[webgl]: /docs/api-reference/webgl
[webgpu]: /docs/api-reference/webgpu
[core]: /docs/api-reference/core
[shadertools]: /docs/api-reference/shadertools
[experimental]: /docs/api-reference/experimental
[test-utils]: /docs/api-reference/test-utils
[engine]: /docs/api-reference/engine
[constants]: /docs/api-reference-v8/constants