mirror of
https://github.com/visgl/luma.gl.git
synced 2025-12-08 17:36:19 +00:00
Update links (#1376)
This commit is contained in:
parent
15eaee5ce5
commit
b4e141f9fd
@ -13,7 +13,7 @@
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<h1 align="center">luma.gl | <a href="https://uber.github.io/luma.gl">Docs</a></h1>
|
||||
<h1 align="center">luma.gl | <a href="https://luma.gl">Docs</a></h1>
|
||||
|
||||
<h5 align="center">luma.gl: High-performance Toolkit for WebGL-based Data Visualization</h5>
|
||||
|
||||
@ -29,8 +29,8 @@ luma.gl is a WebGL toolkit focused primarily on data visualization use cases. lu
|
||||
Unlike many other WebGL APIs, however, the developer can choose to use the parts of luma.gl that support their use case and leave the others behind.
|
||||
|
||||
While generic enough to be used for general 3D rendering, luma.gl's mandate is primarily to support GPU needs of data visualization frameworks in the vis.gl suite, such as:
|
||||
* [kepler.gl](https://github.com/uber/kepler.gl) a powerful open source geospatial analysis tool for large-scale data sets
|
||||
* [deck.gl](https://github.com/uber/deck.gl) a WebGL-powered framework for visual exploratory data analysis of large data sets
|
||||
* [kepler.gl](https://github.com/keplergl/kepler.gl) a powerful open source geospatial analysis tool for large-scale data sets
|
||||
* [deck.gl](https://github.com/visgl/deck.gl) a WebGL-powered framework for visual exploratory data analysis of large data sets
|
||||
* [streetscape.gl](https://github.com/uber/streetscape.gl) A visualization toolkit for autonomy and robotics data encoded in the XVIZ protocol
|
||||
|
||||
|
||||
|
||||
@ -59,7 +59,7 @@ These are early ideas not yet associated with any release
|
||||
| RFC | Author | Status | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| [**Multipass Rendering**](v6.1/multipass-rendering-rfc.md) | @ibgreen | **Implemented** | Multipass rendering system for postprocessing effects and advanced rendering |
|
||||
| [**New Loaders Module**](v6.1/loader-module-rfc.md) | @ibgreen | **Implemented** | New loaders.gl submodule collecting framework-agnostic, thread-capable 3D format loaders. Note: The loaders have been moved to a separate [repository](https://github.com/uber-web/loaders.gl) |
|
||||
| [**New Loaders Module**](v6.1/loader-module-rfc.md) | @ibgreen | **Implemented** | New loaders.gl submodule collecting framework-agnostic, thread-capable 3D format loaders. Note: The loaders have been moved to a separate [repository](https://github.com/visgl/loaders.gl) |
|
||||
|
||||
|
||||
## v6.0 RFCs
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
* **Status**: **Implemented**
|
||||
|
||||
Notes:
|
||||
* Please add comments as reviews to the [PR](https://github.com/uber/luma.gl/pull/398)
|
||||
* Please add comments as reviews to the [PR](https://github.com/visgl/luma.gl/pull/398)
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
|
||||
## Note
|
||||
|
||||
loaders.gl was moved from a luma.gl submodule to a separate repository [loaders.gl](https://github.com/uber-web/loaders.gl). This RFC was ultimately moved there.
|
||||
loaders.gl was moved from a luma.gl submodule to a separate repository [loaders.gl](https://github.com/visgl/loaders.gl). This RFC was ultimately moved there.
|
||||
|
||||
|
||||
## Proposal
|
||||
|
||||
@ -30,7 +30,7 @@ Size of the target should be such that it has one pixel per each expected output
|
||||
|
||||
#### Option#1 Framebuffer
|
||||
|
||||
We can create a texture and use it as color attachment to a `Framebuffer` object. There might be limitation on some of the browsers using FLOAT texture as render target, for example Safari doesn't support `WEBGL_color_buffer_float` hence a float texture can't be used as color attachment. We might be able to overcome this issue using recently added [pack](https://github.com/uber/luma.gl/blob/7.0-release/modules/effects/src/modules/pack.md) shader module of luma.gl.
|
||||
We can create a texture and use it as color attachment to a `Framebuffer` object. There might be limitation on some of the browsers using FLOAT texture as render target, for example Safari doesn't support `WEBGL_color_buffer_float` hence a float texture can't be used as color attachment. We might be able to overcome this issue using recently added [pack](https://github.com/visgl/luma.gl/blob/7.0-release/modules/effects/src/modules/pack.md) shader module of luma.gl.
|
||||
|
||||
#### Option#2 System color buffer
|
||||
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
|
||||
Notes:
|
||||
|
||||
* Initial implementation of OffscreenAnimationLoop [#453](https://github.com/uber/luma.gl/pull/453)
|
||||
* Example usage of OffscreenAnimationLoop [#454](https://github.com/uber/luma.gl/pull/454)
|
||||
* Initial implementation of OffscreenAnimationLoop [#453](https://github.com/visgl/luma.gl/pull/453)
|
||||
* Example usage of OffscreenAnimationLoop [#454](https://github.com/visgl/luma.gl/pull/454)
|
||||
|
||||
|
||||
## Motivation
|
||||
|
||||
@ -86,7 +86,7 @@ The `time` property provided in `animationProps` will be the value returned by `
|
||||
|
||||
## Integration with GLTFAnimaton
|
||||
|
||||
Integration with `GLTFAnimation`should amount to simply passing the timeline object, and optionally a channel handle to the constructor. Then the [animate method](https://github.com/uber/luma.gl/blob/7.0-release/modules/addons/src/gltf/gltf-animator.js) would simply use `timeline.getTime()` to update rather than receiving the `timeMs` argument.
|
||||
Integration with `GLTFAnimation`should amount to simply passing the timeline object, and optionally a channel handle to the constructor. Then the [animate method](https://github.com/visgl/luma.gl/blob/7.0-release/modules/addons/src/gltf/gltf-animator.js) would simply use `timeline.getTime()` to update rather than receiving the `timeMs` argument.
|
||||
|
||||
Significant advantages of this approach over the current one are that animation become controlable by the application and it becomes straightforward to orchestrate multiple glTF animations of arbitrary duration into customizable application-defined animation sequences.
|
||||
|
||||
|
||||
@ -87,7 +87,7 @@ setModuleInjection('fs', 'picking', {
|
||||
|
||||
If the picking module were included, the function `MYHOOK_fragmentColor` would be updated to modify the input color. Without the picking module, the function would remain a no-op.
|
||||
|
||||
I've created a proof-of-concept of the proposed mechanism in this branch: https://github.com/uber/luma.gl/tree/module-injections
|
||||
Sample usage can be seen in a modified version of the instancing example (in which both picking and lighting are handled via injections): https://github.com/uber/luma.gl/blob/ec879f143ebfeec2fe55c1a2c17b60f55cf06c9b/examples/core/instancing/app.js#L134-L156
|
||||
I've created a proof-of-concept of the proposed mechanism in this branch: https://github.com/visgl/luma.gl/tree/module-injections
|
||||
Sample usage can be seen in a modified version of the instancing example (in which both picking and lighting are handled via injections): https://github.com/visgl/luma.gl/blob/ec879f143ebfeec2fe55c1a2c17b60f55cf06c9b/examples/core/instancing/app.js#L134-L156
|
||||
|
||||
|
||||
|
||||
@ -19,7 +19,7 @@ Creation and management of programs is currently handled by several systems in l
|
||||
- Caching and re-use of programs is handled by `ShaderCache`, which is currently limited in that it scopes caches to `BaseModel` objects meaning that `BaseModel`s cannot share programs (this is due to an easily-remedied limitation in the `BaseModel` class that it doesn't set uniforms per-draw).
|
||||
|
||||
Issues with the current system include:
|
||||
- These systems are currently only consolidated around the `BaseModel` class, which treats programs as immutable. This means that modifying programs and taking advantage of these system involves re-constructing the entire `BaseModel`. This complicates interaction with programs as they and parameters that modify their source must generally be treated as immutable and separated out from mutable properties (e.g. the [data filter layer extension](https://github.com/uber/deck.gl/blob/6113d2c8984c406e9df59c16f19630a18f36c42d/modules/extensions/src/data-filter/data-filter.js#L42) in deck.gl has to handle `filterSize` and `softMargin` separately from other props because they modify the shader code).
|
||||
- These systems are currently only consolidated around the `BaseModel` class, which treats programs as immutable. This means that modifying programs and taking advantage of these system involves re-constructing the entire `BaseModel`. This complicates interaction with programs as they and parameters that modify their source must generally be treated as immutable and separated out from mutable properties (e.g. the [data filter layer extension](https://github.com/visgl/deck.gl/blob/6113d2c8984c406e9df59c16f19630a18f36c42d/modules/extensions/src/data-filter/data-filter.js#L42) in deck.gl has to handle `filterSize` and `softMargin` separately from other props because they modify the shader code).
|
||||
- Shader hooks and module injections are global state meaning that an application that imports luma.gl must use the same definitions globally (a case where one might not want this is when rendering to separate canvases on the same page).
|
||||
- Caching being limited per-model presents serious performance concerns as program compilation is expensive, and program switching is among the more expensive GL state changes (this would be a concern, for example, in deck.gl when rendering multiple instances of the same layer).
|
||||
- With out a centralized system for managing programs, it will be difficult to take advantage of optimizations that require batching program operations, such `KHR_parallel_shader_compile`.
|
||||
|
||||
@ -54,16 +54,16 @@ The actual refactor of luma.gl would occur in three phases:
|
||||
### Clean Out Unused Code
|
||||
|
||||
This will warrant some discussion. The following are systems I believe should be considered for removal or consolidation:
|
||||
- [BaseModel](https://github.com/uber/luma.gl/blob/7.2-release/modules/core/src/lib/base-model.js) and [Model](https://github.com/uber/luma.gl/blob/7.2-release/modules/core/src/lib/model.js) - can be consolidated for simplicity as there are no other subclasses of `BaseModel`
|
||||
- [CameraNode](https://github.com/uber/luma.gl/blob/7.2-release/modules/core/src/scenegraph/nodes/camera-node.js) - Appears unused
|
||||
- [Uniform animations](https://github.com/uber/luma.gl/blob/7.2-release/modules/core/src/lib/base-model.js#L280-L333) - Complex, unused, and the `_extractAnimatedUniforms` method appears as 12th most costly function in the [deck.gl stress test](https://github.com/uber/deck.gl/tree/master/test/apps/stress-tests) CPU profile without there being any animated uniforms in the test scene.
|
||||
- [ShaderCache](https://github.com/uber/luma.gl/blob/7.2-release/modules/core/src/lib/shader-cache.js) - Superseded by `ProgramManager`
|
||||
- [core/lighting](https://github.com/uber/luma.gl/blob/7.2-release/modules/core/src/lighting/light-source.js), [core/materials](https://github.com/uber/luma.gl/tree/7.2-release/modules/core/src/materials) - currently empty or simple data classes
|
||||
- [core/multipass](https://github.com/uber/luma.gl/tree/7.2-release/modules/core/src/multipass) - Appears unused (has it been superseded by deck effects?)
|
||||
- [seer integration](https://github.com/uber/luma.gl/blob/7.2-release/modules/core/src/debug/seer-integration.js) - Complex and will interfere with other parts of the system if enabled (e.g. [GPU timing](https://github.com/uber/luma.gl/blob/7.2-release/modules/core/src/lib/base-model.js#L337-L376)). The `getOverrides` function appears as 6th most costly function in the [deck.gl stress test](https://github.com/uber/deck.gl/tree/master/test/apps/stress-tests) CPU profile without seer being active.
|
||||
- [debug/parameter-definitions](https://github.com/uber/luma.gl/blob/7.2-release/modules/debug/src/webgl-api-tracing/parameter-definitions.js) - Appears unused
|
||||
- [main module](https://github.com/uber/luma.gl/tree/7.2-release/modules/main) - Appears unused
|
||||
- [core/geometry](https://github.com/uber/luma.gl/tree/7.2-release/modules/core/src/geometries) - Move to math.gl
|
||||
- [BaseModel](https://github.com/visgl/luma.gl/blob/7.2-release/modules/core/src/lib/base-model.js) and [Model](https://github.com/visgl/luma.gl/blob/7.2-release/modules/core/src/lib/model.js) - can be consolidated for simplicity as there are no other subclasses of `BaseModel`
|
||||
- [CameraNode](https://github.com/visgl/luma.gl/blob/7.2-release/modules/core/src/scenegraph/nodes/camera-node.js) - Appears unused
|
||||
- [Uniform animations](https://github.com/visgl/luma.gl/blob/7.2-release/modules/core/src/lib/base-model.js#L280-L333) - Complex, unused, and the `_extractAnimatedUniforms` method appears as 12th most costly function in the [deck.gl stress test](https://github.com/visgl/deck.gl/tree/master/test/apps/stress-tests) CPU profile without there being any animated uniforms in the test scene.
|
||||
- [ShaderCache](https://github.com/visgl/luma.gl/blob/7.2-release/modules/core/src/lib/shader-cache.js) - Superseded by `ProgramManager`
|
||||
- [core/lighting](https://github.com/visgl/luma.gl/blob/7.2-release/modules/core/src/lighting/light-source.js), [core/materials](https://github.com/visgl/luma.gl/tree/7.2-release/modules/core/src/materials) - currently empty or simple data classes
|
||||
- [core/multipass](https://github.com/visgl/luma.gl/tree/7.2-release/modules/core/src/multipass) - Appears unused (has it been superseded by deck effects?)
|
||||
- [seer integration](https://github.com/visgl/luma.gl/blob/7.2-release/modules/core/src/debug/seer-integration.js) - Complex and will interfere with other parts of the system if enabled (e.g. [GPU timing](https://github.com/visgl/luma.gl/blob/7.2-release/modules/core/src/lib/base-model.js#L337-L376)). The `getOverrides` function appears as 6th most costly function in the [deck.gl stress test](https://github.com/visgl/deck.gl/tree/master/test/apps/stress-tests) CPU profile without seer being active.
|
||||
- [debug/parameter-definitions](https://github.com/visgl/luma.gl/blob/7.2-release/modules/debug/src/webgl-api-tracing/parameter-definitions.js) - Appears unused
|
||||
- [main module](https://github.com/visgl/luma.gl/tree/7.2-release/modules/main) - Appears unused
|
||||
- [core/geometry](https://github.com/visgl/luma.gl/tree/7.2-release/modules/core/src/geometries) - Move to math.gl
|
||||
|
||||
### Structure Modules Around Meaningful Themes
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
|
||||
References
|
||||
|
||||
* A related system is described here [Shader Fragment Injection](https://github.com/uber/luma.gl/blob/7.0-release/dev-docs/RFCs/v6.0/shader-fragment-injection-rfc.md)
|
||||
* A related system is described here [Shader Fragment Injection](https://github.com/visgl/luma.gl/blob/7.0-release/dev-docs/RFCs/v6.0/shader-fragment-injection-rfc.md)
|
||||
|
||||
|
||||
## Overview
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
|
||||
References:
|
||||
|
||||
* See luma.gl issue [#234](https://github.com/uber/luma.gl/issues/234)
|
||||
* Most ideas in [deck.gl size reduction RFC](https://github.com/uber/deck.gl/blob/master/dev-docs/RFCs/v6.0/reduce-distribution-size-rfc.md) apply here.
|
||||
* See luma.gl issue [#234](https://github.com/visgl/luma.gl/issues/234)
|
||||
* Most ideas in [deck.gl size reduction RFC](https://github.com/visgl/deck.gl/blob/master/dev-docs/RFCs/v6.0/reduce-distribution-size-rfc.md) apply here.
|
||||
|
||||
|
||||
## Summary
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
"author": "Ib Green",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"keywords": [
|
||||
"babel-plugin",
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"keywords": [
|
||||
"babel-plugin",
|
||||
@ -16,4 +16,4 @@
|
||||
"dependencies": {
|
||||
"minimatch": "^3.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -6,26 +6,26 @@ luma.gl is a high-performance toolkit for WebGL-based data visualization. luma.g
|
||||
## Versions
|
||||
|
||||
These docs are for
|
||||
<a href="https://github.com/uber/luma.gl/blob/8.1-release/docs">
|
||||
<a href="https://github.com/visgl/luma.gl/blob/8.1-release/docs">
|
||||
<img style="margin-bottom: -4px" src="https://img.shields.io/badge/luma.gl-v8.1-brightgreen.svg?style=flat-square" />
|
||||
</a> Looking for an older version?
|
||||
|
||||
<a href="https://github.com/uber/luma.gl/blob/8.0-release/docs">
|
||||
<a href="https://github.com/visgl/luma.gl/blob/8.0-release/docs">
|
||||
<img src="https://img.shields.io/badge/v-8.0-green.svg?style=flat-square" />
|
||||
</a>
|
||||
<a href="https://github.com/uber/luma.gl/blob/7.0-release/docs">
|
||||
<a href="https://github.com/visgl/luma.gl/blob/7.0-release/docs">
|
||||
<img src="https://img.shields.io/badge/v-7.0-green.svg?style=flat-square" />
|
||||
</a>
|
||||
<a href="https://github.com/uber/luma.gl/blob/6.0-release/docs">
|
||||
<a href="https://github.com/visgl/luma.gl/blob/6.0-release/docs">
|
||||
<img src="https://img.shields.io/badge/v-6.0-green.svg?style=flat-square" />
|
||||
</a>
|
||||
<a href="https://github.com/uber/luma.gl/blob/5.0-release/docs">
|
||||
<a href="https://github.com/visgl/luma.gl/blob/5.0-release/docs">
|
||||
<img src="https://img.shields.io/badge/v-5.0-green.svg?style=flat-square" />
|
||||
</a>
|
||||
<a href="https://github.com/uber/luma.gl/blob/4.0-release/docs">
|
||||
<a href="https://github.com/visgl/luma.gl/blob/4.0-release/docs">
|
||||
<img src="https://img.shields.io/badge/v-4.0-green.svg?style=flat-square" />
|
||||
</a>
|
||||
<a href="https://github.com/uber/luma.gl/tree/3.0-release/docs">
|
||||
<a href="https://github.com/visgl/luma.gl/tree/3.0-release/docs">
|
||||
<img src="https://img.shields.io/badge/v-3.0-green.svg?style=flat-square" />
|
||||
</a>
|
||||
|
||||
@ -46,7 +46,7 @@ For some powerful examples of what can be achieved with luma.gl, take a look at
|
||||
|
||||
We share information about the direction of luma.gl in the following ways:
|
||||
|
||||
* **[RFCs](https://github.com/uber/luma.gl/tree/7.3-release/dev-docs/RFCs)** - RFCs are technical writeups that describe proposed features in upcoming releases.
|
||||
* **[RFCs](https://github.com/visgl/luma.gl/tree/7.3-release/dev-docs/RFCs)** - RFCs are technical writeups that describe proposed features in upcoming releases.
|
||||
* **[Roadmap Document](https://luma.gl/#/documentation/overview/roadmap)** - (this document) A high-level summary of our current direction for future releases.
|
||||
* **[Blog](https://medium.com/@vis.gl)** - We use the vis.gl blog to share information about what we are doing.
|
||||
* **[Github Issues](https://github.com/uber/luma.gl/issues)** - The traditional way to start or join a discussion.
|
||||
* **[Github Issues](https://github.com/visgl/luma.gl/issues)** - The traditional way to start or join a discussion.
|
||||
|
||||
@ -77,7 +77,7 @@ The set up to render in 3D involves a few extra steps compared to the triangles
|
||||
```
|
||||
Some of the new techniques we're leveraging here are:
|
||||
- Using `setParameters` to set up depth testing and ensure surfaces occlude each other properly. Compared to setting these parameters directly, the `setParameters` function has the advantage of tracking state and preventing redundant WebGL calls.
|
||||
- Creating a texture using the `Texture2D` class. For our purposes, this is as simple as passing a URL to the image location (the image used in this tutorial is available [here](https://github.com/uber/luma.gl/tree/8.1-release/examples/api/cubemap/vis-logo.png), but any JPEG or PNG image will do).
|
||||
- Creating a texture using the `Texture2D` class. For our purposes, this is as simple as passing a URL to the image location (the image used in this tutorial is available [here](https://github.com/visgl/luma.gl/tree/8.1-release/examples/api/cubemap/vis-logo.png), but any JPEG or PNG image will do).
|
||||
- Creating view and MVP matrices using **math.gl**'s `Matrix4` class to store the matrices we'll pass to our shaders to perform the animation and perspective projection.
|
||||
- Generating attribute data using the `CubeGeometry` class and passing it to our `Model` using the `geometry` property. The geometry will automatically feed vertex position data into the `positions` attribute and texture coordinates (or UV coordinates) into the `texCoords` attribute.
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# What's Next?
|
||||
|
||||
That concludes our **luma.gl** tutorial series. If you went through the full set of tutorials, you've taken a deep dive into some of **luma.gl**'s more powerful features, including polyfilling the WebGL context, shader modules and composition, instanced drawing, and transform feedback. To dig deeper into **luma.gl**'s API, we recommend playing around with the examples in the [examples directory](https://github.com/uber/luma.gl/tree/8.1-release/examples/core) of the repository, which demonstrate various parts of the API in more detail. They can also be browsed on the [website](https://luma.gl/examples).
|
||||
That concludes our **luma.gl** tutorial series. If you went through the full set of tutorials, you've taken a deep dive into some of **luma.gl**'s more powerful features, including polyfilling the WebGL context, shader modules and composition, instanced drawing, and transform feedback. To dig deeper into **luma.gl**'s API, we recommend playing around with the examples in the [examples directory](https://github.com/visgl/luma.gl/tree/8.1-release/examples/core) of the repository, which demonstrate various parts of the API in more detail. They can also be browsed on the [website](https://luma.gl/examples).
|
||||
|
||||
To explore the examples, clone the **luma.gl** repo and run the following in a given example's directory:
|
||||
|
||||
|
||||
@ -139,11 +139,11 @@ Date: April 19, 2019
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img height=200 src="https://raw.github.com/uber-common/deck.gl-data/master/images/whats-new/gltf-city.gif" />
|
||||
<img height=200 src="https://raw.github.com/visgl/deck.gl-data/master/images/whats-new/gltf-city.gif" />
|
||||
<p><i>glTF Support</i></p>
|
||||
</td>
|
||||
<td>
|
||||
<img height=200 src="https://raw.github.com/uber-common/deck.gl-data/master/images/whats-new/gltf-pbr.gif" />
|
||||
<img height=200 src="https://raw.github.com/visgl/deck.gl-data/master/images/whats-new/gltf-pbr.gif" />
|
||||
<p><i>PBR (Physically Based Rendering)</i></p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -153,9 +153,9 @@ Date: April 19, 2019
|
||||
|
||||
### glTF Support
|
||||
|
||||
<img height=100 src="https://raw.github.com/uber-common/deck.gl-data/master/images/gltf.png" />
|
||||
<img height=100 src="https://raw.github.com/visgl/deck.gl-data/master/images/gltf.png" />
|
||||
|
||||
luma.gl can now load 3D models and scenegraphs in the popular [glTF™](https://www.khronos.org/gltf/) asset format (with the help of the loaders.gl [GLTFLoader](https://github.com/uber-web/loaders.gl/blob/master/website/docs/api-reference/gltf-loaders/gltf-loader.md). All variants of glTF 2.0 are supported, including binary `.glb` files as well as JSON `.gltf` files with binary assets in base64 encoding or in separate files. The Draco Mesh compression extension is also supported.
|
||||
luma.gl can now load 3D models and scenegraphs in the popular [glTF™](https://www.khronos.org/gltf/) asset format (with the help of the loaders.gl [GLTFLoader](https://github.com/visgl/loaders.gl/blob/master/website/docs/api-reference/gltf-loaders/gltf-loader.md). All variants of glTF 2.0 are supported, including binary `.glb` files as well as JSON `.gltf` files with binary assets in base64 encoding or in separate files. The Draco Mesh compression extension is also supported.
|
||||
|
||||
- **Physically-based Material Support**: Ensures that PBR models display as intended.
|
||||
- **Scenegraph Improvements**: The Scenegraph classes have been refactored to ensure support for glTF objects.
|
||||
@ -256,7 +256,7 @@ Uniforms are now cached at `Program` object, which improves performance by elimi
|
||||
|
||||
### Offscreen Rendering (Experimental)
|
||||
|
||||
A new experimental class `AnimationLoopProxy` supports running an `AnimationLoop` on a worker thread using the `OffscreenCanvas` API made official in Chrome 70. For more detatils, see [API documentation](/docs/api-reference/core/animation-loop-proxy.md) and [example app](https://github.com/uber/luma.gl/tree/7.3-release/test/apps/wip/worker).
|
||||
A new experimental class `AnimationLoopProxy` supports running an `AnimationLoop` on a worker thread using the `OffscreenCanvas` API made official in Chrome 70. For more detatils, see [API documentation](/docs/api-reference/core/animation-loop-proxy.md) and [example app](https://github.com/visgl/luma.gl/tree/7.3-release/test/apps/wip/worker).
|
||||
|
||||
|
||||
## Version 6.2
|
||||
@ -267,11 +267,11 @@ Date: September 12, 2018
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img height=150 src="https://raw.github.com/uber-common/deck.gl-data/master/images/whats-new/render-pass.gif" />
|
||||
<img height=150 src="https://raw.github.com/visgl/deck.gl-data/master/images/whats-new/render-pass.gif" />
|
||||
<p><i>glfx port using ShaderModulePass</i></p>
|
||||
</td>
|
||||
<td>
|
||||
<img height=150 src="https://raw.github.com/uber-common/deck.gl-data/master/images/whats-new/transform-texture.gif" />
|
||||
<img height=150 src="https://raw.github.com/visgl/deck.gl-data/master/images/whats-new/transform-texture.gif" />
|
||||
<p><i>Transform: edge detection</i></p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -295,11 +295,11 @@ Date: Target August 31, 2018
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img height=150 src="https://raw.github.com/uber-common/deck.gl-data/master/images/whats-new/luma61-ssao-pass-thumb.gif" />
|
||||
<img height=150 src="https://raw.github.com/visgl/deck.gl-data/master/images/whats-new/luma61-ssao-pass-thumb.gif" />
|
||||
<p><i>Ambient Occlusion Render Pass</i></p>
|
||||
</td>
|
||||
<td>
|
||||
<img height=150 src="https://raw.github.com/uber-common/deck.gl-data/master/images/whats-new/luma61-edge-pass-thumb.gif" />
|
||||
<img height=150 src="https://raw.github.com/visgl/deck.gl-data/master/images/whats-new/luma61-edge-pass-thumb.gif" />
|
||||
<p><i>Edge Detection Render Pass</i></p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -342,7 +342,7 @@ Date: July 18, 2018
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img height=150 src="https://raw.github.com/uber-common/deck.gl-data/master/images/whats-new/webgl2.jpg" />
|
||||
<img height=150 src="https://raw.github.com/visgl/deck.gl-data/master/images/whats-new/webgl2.jpg" />
|
||||
<p><i>WebGL Improvements</i></p>
|
||||
</td>
|
||||
</tr>
|
||||
@ -485,10 +485,10 @@ A smaller release with several new examples and some under the hood changes to i
|
||||
|
||||
Additional examples have been ported to the luma.gl v5 API.
|
||||
|
||||
* [Lesson 10](http://uber.github.io/luma.gl/#/examples/webgl-lessons/lesson-10-3d-world)
|
||||
* [Lesson 11](http://uber.github.io/luma.gl/#/examples/webgl-lessons/lesson-11-sphere)
|
||||
* [Lesson 12](http://uber.github.io/luma.gl/#/examples/webgl-lessons/lesson-12-point-lighting)
|
||||
* [Lesson 13](http://uber.github.io/luma.gl/#/examples/webgl-lessons/lesson-13-per-fragment-lighting)
|
||||
* Lesson 10
|
||||
* Lesson 11
|
||||
* Lesson 12
|
||||
* Lesson 13
|
||||
|
||||
|
||||
### Model Class
|
||||
@ -522,7 +522,7 @@ Release date: July 27th, 2017
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img height=150 src="https://raw.github.com/uber-common/deck.gl-data/master/images/whats-new/webgl2.jpg" />
|
||||
<img height=150 src="https://raw.github.com/visgl/deck.gl-data/master/images/whats-new/webgl2.jpg" />
|
||||
<p><i>WebGL 2</i></p>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -11,10 +11,10 @@ Note: This file is framework independent and can be used by any webgl applicatio
|
||||
|
||||
luma.gl is the engine that powers applications and frameworks like
|
||||
|
||||
* [kepler.gl](https://github.com/uber/deck.gl) WebGL based visualization overlays
|
||||
* [deck.gl](https://github.com/uber/deck.gl) WebGL based visualization overlays
|
||||
* [kepler.gl](https://github.com/visgl/deck.gl) WebGL based visualization overlays
|
||||
* [deck.gl](https://github.com/visgl/deck.gl) WebGL based visualization overlays
|
||||
|
||||
|
||||
## Documentation
|
||||
|
||||
For details, please refer to the extensive [online website](https://uber.github.io/luma.gl).
|
||||
For details, please refer to the extensive [online website](https://luma.gl).
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# luma.gl
|
||||
|
||||
<h1 align="center">luma.gl | <a href="https://uber.github.io/luma.gl">Docs</a></h1>
|
||||
<h1 align="center">luma.gl | <a href="https://luma.gl">Docs</a></h1>
|
||||
|
||||
<h5 align="center">luma.gl: WebGL2 Components for Visualization</h5>
|
||||
|
||||
@ -11,10 +11,10 @@ luma.gl is a set of WebGL2 components for high-performance GPU-based rendering a
|
||||
|
||||
It is the engine that powers applications and frameworks like
|
||||
|
||||
* [kepler.gl](https://github.com/uber/deck.gl) WebGL based visualization overlays
|
||||
* [deck.gl](https://github.com/uber/deck.gl) WebGL based visualization overlays
|
||||
* [kepler.gl](https://github.com/keplergl/kepler.gl) WebGL based visualization overlays
|
||||
* [deck.gl](https://github.com/visgl/deck.gl) WebGL based visualization overlays
|
||||
|
||||
|
||||
# Installation, Running Examples etc
|
||||
|
||||
For details, please refer to the extensive [online website](https://uber.github.io/luma.gl).
|
||||
For details, please refer to the extensive [online website](https://luma.gl).
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"keywords": [
|
||||
"webgl",
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"keywords": [
|
||||
"webgl",
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
"license": "MIT",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public"
|
||||
|
||||
@ -15,7 +15,7 @@ const REGEX_END_OF_MAIN = /}\n?[^{}]*$/; // End of main, assumes main is last fu
|
||||
const fragments = [];
|
||||
|
||||
// A minimal shader injection/templating system.
|
||||
// RFC: https://github.com/uber/luma.gl/blob/7.0-release/dev-docs/RFCs/v6.0/shader-injection-rfc.md
|
||||
// RFC: https://github.com/visgl/luma.gl/blob/7.0-release/dev-docs/RFCs/v6.0/shader-injection-rfc.md
|
||||
/* eslint-disable complexity */
|
||||
export default function injectShader(source, type, inject, injectStandardStubs) {
|
||||
const isVertex = type === VERTEX_SHADER;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
// Transpiles shader source code to target GLSL version
|
||||
// Note: We always run transpiler even if same version e.g. 3.00 => 3.00
|
||||
// RFC: https://github.com/uber/luma.gl/blob/7.0-release/dev-docs/RFCs/v6.0/portable-glsl-300-rfc.md
|
||||
// RFC: https://github.com/visgl/luma.gl/blob/7.0-release/dev-docs/RFCs/v6.0/portable-glsl-300-rfc.md
|
||||
export default function transpileShader(source, targetGLSLVersion, isVertex) {
|
||||
switch (targetGLSLVersion) {
|
||||
case 300:
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"keywords": [
|
||||
"webgl2",
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"keywords": [
|
||||
"webgl",
|
||||
|
||||
@ -3,7 +3,7 @@ import {log} from '@luma.gl/gltools';
|
||||
// Install stubs for removed methods
|
||||
export function stubRemovedMethods(instance, className, version, methodNames) {
|
||||
const upgradeMessage = `See luma.gl ${version} Upgrade Guide at \
|
||||
http://uber.github.io/luma.gl/#/documentation/overview/upgrade-guide`;
|
||||
https://luma.gl/docs/upgrade-guide`;
|
||||
|
||||
const prototype = Object.getPrototypeOf(instance);
|
||||
|
||||
|
||||
@ -17,7 +17,7 @@
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/uber/luma.gl"
|
||||
"url": "https://github.com/visgl/luma.gl"
|
||||
},
|
||||
"keywords": [
|
||||
"webgl",
|
||||
|
||||
@ -6,7 +6,7 @@ import {VRDisplay} from '@luma.gl/experimental';
|
||||
import StatsWidget from '@probe.gl/stats-widget';
|
||||
import {InfoPanel} from 'gatsby-theme-ocular/components';
|
||||
|
||||
const GITHUB_TREE = 'https://github.com/uber/luma.gl/tree/8.1-release';
|
||||
const GITHUB_TREE = 'https://github.com/visgl/luma.gl/tree/8.1-release';
|
||||
|
||||
// WORKAROUND FOR luma.gl VRDisplay
|
||||
if (typeof global !== 'undefined' && !global.navigator) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user