@luma.gl/engine 9.2.6 → 9.3.0-alpha.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/animation-loop/animation-loop.d.ts +11 -5
- package/dist/animation-loop/animation-loop.d.ts.map +1 -1
- package/dist/animation-loop/animation-loop.js +83 -47
- package/dist/animation-loop/animation-loop.js.map +1 -1
- package/dist/animation-loop/make-animation-loop.d.ts.map +1 -1
- package/dist/animation-loop/make-animation-loop.js +8 -1
- package/dist/animation-loop/make-animation-loop.js.map +1 -1
- package/dist/animation-loop/request-animation-frame.d.ts.map +1 -1
- package/dist/animation-loop/request-animation-frame.js +23 -6
- package/dist/animation-loop/request-animation-frame.js.map +1 -1
- package/dist/compute/computation.d.ts +3 -7
- package/dist/compute/computation.d.ts.map +1 -1
- package/dist/compute/computation.js +16 -13
- package/dist/compute/computation.js.map +1 -1
- package/dist/compute/swap.d.ts +2 -0
- package/dist/compute/swap.d.ts.map +1 -1
- package/dist/compute/swap.js +10 -5
- package/dist/compute/swap.js.map +1 -1
- package/dist/debug/debug-framebuffer.d.ts +9 -4
- package/dist/debug/debug-framebuffer.d.ts.map +1 -1
- package/dist/debug/debug-framebuffer.js +91 -45
- package/dist/debug/debug-framebuffer.js.map +1 -1
- package/dist/dist.dev.js +2767 -1344
- package/dist/dist.min.js +326 -211
- package/dist/dynamic-texture/dynamic-texture.d.ts +102 -0
- package/dist/dynamic-texture/dynamic-texture.d.ts.map +1 -0
- package/dist/dynamic-texture/dynamic-texture.js +558 -0
- package/dist/dynamic-texture/dynamic-texture.js.map +1 -0
- package/dist/dynamic-texture/texture-data.d.ts +144 -0
- package/dist/dynamic-texture/texture-data.d.ts.map +1 -0
- package/dist/dynamic-texture/texture-data.js +208 -0
- package/dist/dynamic-texture/texture-data.js.map +1 -0
- package/dist/geometries/cone-geometry.d.ts +3 -1
- package/dist/geometries/cone-geometry.d.ts.map +1 -1
- package/dist/geometries/cone-geometry.js.map +1 -1
- package/dist/geometries/cube-geometry.js +7 -7
- package/dist/geometries/cube-geometry.js.map +1 -1
- package/dist/geometries/cylinder-geometry.d.ts +2 -1
- package/dist/geometries/cylinder-geometry.d.ts.map +1 -1
- package/dist/geometries/cylinder-geometry.js.map +1 -1
- package/dist/geometries/ico-sphere-geometry.js +3 -1
- package/dist/geometries/ico-sphere-geometry.js.map +1 -1
- package/dist/geometry/gpu-geometry.d.ts.map +1 -1
- package/dist/geometry/gpu-geometry.js +11 -3
- package/dist/geometry/gpu-geometry.js.map +1 -1
- package/dist/index.cjs +2620 -1267
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +20 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -4
- package/dist/index.js.map +1 -1
- package/dist/material/material-factory.d.ts +73 -0
- package/dist/material/material-factory.d.ts.map +1 -0
- package/dist/material/material-factory.js +111 -0
- package/dist/material/material-factory.js.map +1 -0
- package/dist/material/material.d.ts +84 -0
- package/dist/material/material.d.ts.map +1 -0
- package/dist/material/material.js +176 -0
- package/dist/material/material.js.map +1 -0
- package/dist/model/model.d.ts +47 -16
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js +148 -71
- package/dist/model/model.js.map +1 -1
- package/dist/model/split-uniforms-and-bindings.d.ts +4 -3
- package/dist/model/split-uniforms-and-bindings.d.ts.map +1 -1
- package/dist/model/split-uniforms-and-bindings.js +2 -2
- package/dist/model/split-uniforms-and-bindings.js.map +1 -1
- package/dist/models/billboard-texture-model.d.ts +8 -5
- package/dist/models/billboard-texture-model.d.ts.map +1 -1
- package/dist/models/billboard-texture-model.js +79 -25
- package/dist/models/billboard-texture-model.js.map +1 -1
- package/dist/models/billboard-texture-module.d.ts +1 -1
- package/dist/models/billboard-texture-module.js +1 -1
- package/dist/models/clip-space.js +7 -7
- package/dist/models/directional-light-model.d.ts +7 -0
- package/dist/models/directional-light-model.d.ts.map +1 -0
- package/dist/models/directional-light-model.js +23 -0
- package/dist/models/directional-light-model.js.map +1 -0
- package/dist/models/light-model-utils.d.ts +69 -0
- package/dist/models/light-model-utils.d.ts.map +1 -0
- package/dist/models/light-model-utils.js +395 -0
- package/dist/models/light-model-utils.js.map +1 -0
- package/dist/models/point-light-model.d.ts +7 -0
- package/dist/models/point-light-model.d.ts.map +1 -0
- package/dist/models/point-light-model.js +22 -0
- package/dist/models/point-light-model.js.map +1 -0
- package/dist/models/spot-light-model.d.ts +7 -0
- package/dist/models/spot-light-model.d.ts.map +1 -0
- package/dist/models/spot-light-model.js +23 -0
- package/dist/models/spot-light-model.js.map +1 -0
- package/dist/modules/picking/color-picking.d.ts +5 -9
- package/dist/modules/picking/color-picking.d.ts.map +1 -1
- package/dist/modules/picking/color-picking.js +122 -115
- package/dist/modules/picking/color-picking.js.map +1 -1
- package/dist/modules/picking/index-picking.d.ts +4 -4
- package/dist/modules/picking/index-picking.d.ts.map +1 -1
- package/dist/modules/picking/index-picking.js +36 -16
- package/dist/modules/picking/index-picking.js.map +1 -1
- package/dist/modules/picking/legacy-color-picking.d.ts +26 -0
- package/dist/modules/picking/legacy-color-picking.d.ts.map +1 -0
- package/dist/modules/picking/legacy-color-picking.js +7 -0
- package/dist/modules/picking/legacy-color-picking.js.map +1 -0
- package/dist/modules/picking/picking-manager.d.ts +29 -3
- package/dist/modules/picking/picking-manager.d.ts.map +1 -1
- package/dist/modules/picking/picking-manager.js +188 -41
- package/dist/modules/picking/picking-manager.js.map +1 -1
- package/dist/modules/picking/picking-uniforms.d.ts +13 -12
- package/dist/modules/picking/picking-uniforms.d.ts.map +1 -1
- package/dist/modules/picking/picking-uniforms.js +27 -14
- package/dist/modules/picking/picking-uniforms.js.map +1 -1
- package/dist/modules/picking/picking.d.ts +25 -0
- package/dist/modules/picking/picking.d.ts.map +1 -0
- package/dist/modules/picking/picking.js +18 -0
- package/dist/modules/picking/picking.js.map +1 -0
- package/dist/passes/get-fragment-shader.js +12 -27
- package/dist/passes/get-fragment-shader.js.map +1 -1
- package/dist/passes/shader-pass-renderer.d.ts +5 -7
- package/dist/passes/shader-pass-renderer.d.ts.map +1 -1
- package/dist/passes/shader-pass-renderer.js +16 -42
- package/dist/passes/shader-pass-renderer.js.map +1 -1
- package/dist/scenegraph/group-node.d.ts +5 -0
- package/dist/scenegraph/group-node.d.ts.map +1 -1
- package/dist/scenegraph/group-node.js +12 -0
- package/dist/scenegraph/group-node.js.map +1 -1
- package/dist/scenegraph/model-node.d.ts +2 -2
- package/dist/scenegraph/model-node.d.ts.map +1 -1
- package/dist/scenegraph/model-node.js.map +1 -1
- package/dist/scenegraph/scenegraph-node.d.ts +1 -1
- package/dist/scenegraph/scenegraph-node.d.ts.map +1 -1
- package/dist/scenegraph/scenegraph-node.js +23 -15
- package/dist/scenegraph/scenegraph-node.js.map +1 -1
- package/dist/shader-inputs.d.ts +9 -7
- package/dist/shader-inputs.d.ts.map +1 -1
- package/dist/shader-inputs.js +90 -13
- package/dist/shader-inputs.js.map +1 -1
- package/dist/utils/buffer-layout-order.d.ts.map +1 -1
- package/dist/utils/buffer-layout-order.js +12 -2
- package/dist/utils/buffer-layout-order.js.map +1 -1
- package/dist/utils/shader-module-utils.d.ts +7 -0
- package/dist/utils/shader-module-utils.d.ts.map +1 -0
- package/dist/utils/shader-module-utils.js +46 -0
- package/dist/utils/shader-module-utils.js.map +1 -0
- package/package.json +6 -6
- package/src/animation-loop/animation-loop.ts +89 -50
- package/src/animation-loop/make-animation-loop.ts +14 -5
- package/src/animation-loop/request-animation-frame.ts +32 -6
- package/src/compute/computation.ts +32 -17
- package/src/compute/swap.ts +13 -7
- package/src/debug/debug-framebuffer.ts +139 -61
- package/src/dynamic-texture/dynamic-texture.ts +730 -0
- package/src/dynamic-texture/texture-data.ts +336 -0
- package/src/{async-texture/texture-setters.ts.disabled → dynamic-texture/texture-data.ts.disabled} +1 -1
- package/src/geometries/cone-geometry.ts +6 -1
- package/src/geometries/cube-geometry.ts +7 -7
- package/src/geometries/cylinder-geometry.ts +5 -1
- package/src/geometries/ico-sphere-geometry.ts +3 -1
- package/src/geometry/gpu-geometry.ts +11 -3
- package/src/index.ts +38 -8
- package/src/material/material-factory.ts +157 -0
- package/src/material/material.ts +254 -0
- package/src/model/model.ts +196 -93
- package/src/model/split-uniforms-and-bindings.ts +8 -6
- package/src/models/billboard-texture-model.ts +90 -29
- package/src/models/billboard-texture-module.ts +1 -1
- package/src/models/clip-space.ts +7 -7
- package/src/models/directional-light-model.ts +32 -0
- package/src/models/light-model-utils.ts +587 -0
- package/src/models/point-light-model.ts +31 -0
- package/src/models/spot-light-model.ts +32 -0
- package/src/modules/picking/color-picking.ts +123 -122
- package/src/modules/picking/index-picking.ts +36 -16
- package/src/modules/picking/legacy-color-picking.ts +8 -0
- package/src/modules/picking/picking-manager.ts +252 -50
- package/src/modules/picking/picking-uniforms.ts +39 -24
- package/src/modules/picking/picking.ts +22 -0
- package/src/passes/get-fragment-shader.ts +12 -27
- package/src/passes/shader-pass-renderer.ts +25 -48
- package/src/scenegraph/group-node.ts +16 -0
- package/src/scenegraph/model-node.ts +2 -2
- package/src/scenegraph/scenegraph-node.ts +27 -16
- package/src/shader-inputs.ts +167 -26
- package/src/utils/buffer-layout-order.ts +18 -2
- package/src/utils/shader-module-utils.ts +65 -0
- package/dist/async-texture/async-texture.d.ts +0 -166
- package/dist/async-texture/async-texture.d.ts.map +0 -1
- package/dist/async-texture/async-texture.js +0 -386
- package/dist/async-texture/async-texture.js.map +0 -1
- package/dist/factories/pipeline-factory.d.ts +0 -37
- package/dist/factories/pipeline-factory.d.ts.map +0 -1
- package/dist/factories/pipeline-factory.js +0 -181
- package/dist/factories/pipeline-factory.js.map +0 -1
- package/dist/factories/shader-factory.d.ts +0 -22
- package/dist/factories/shader-factory.d.ts.map +0 -1
- package/dist/factories/shader-factory.js +0 -88
- package/dist/factories/shader-factory.js.map +0 -1
- package/src/async-texture/async-texture.ts +0 -551
- package/src/factories/pipeline-factory.ts +0 -224
- package/src/factories/shader-factory.ts +0 -103
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computation.js","sourceRoot":"","sources":["../../src/compute/computation.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"computation.js","sourceRoot":"","sources":["../../src/compute/computation.ts"],"names":[],"mappings":"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"}
|
package/dist/compute/swap.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import { Device, Resource, Buffer, Framebuffer } from '@luma.gl/core';
|
|
|
7
7
|
* @note the two resources can be destroyed by calling `destroy()`
|
|
8
8
|
*/
|
|
9
9
|
export declare class Swap<T extends Resource<any>> {
|
|
10
|
+
id: string;
|
|
10
11
|
/** The current resource - usually the source for renders or computations */
|
|
11
12
|
current: T;
|
|
12
13
|
/** The next resource - usually the target/destination for transforms / computations */
|
|
@@ -14,6 +15,7 @@ export declare class Swap<T extends Resource<any>> {
|
|
|
14
15
|
constructor(props: {
|
|
15
16
|
current: T;
|
|
16
17
|
next: T;
|
|
18
|
+
id?: string;
|
|
17
19
|
});
|
|
18
20
|
/** Destroys the two managed resources */
|
|
19
21
|
destroy(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/compute/swap.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AACjE,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAU,MAAM,eAAe,CAAC;AAE7E;;;;;GAKG;AACH,qBAAa,IAAI,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC;IACvC,4EAA4E;IAC5E,OAAO,EAAE,CAAC,CAAC;IACX,uFAAuF;IACvF,IAAI,EAAE,CAAC,CAAC;gBAEI,KAAK,EAAE;QAAC,OAAO,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,CAAA;KAAC;
|
|
1
|
+
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/compute/swap.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,WAAW,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AACjE,OAAO,EAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAU,MAAM,eAAe,CAAC;AAE7E;;;;;GAKG;AACH,qBAAa,IAAI,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC;IACvC,EAAE,EAAE,MAAM,CAAC;IAEX,4EAA4E;IAC5E,OAAO,EAAE,CAAC,CAAC;IACX,uFAAuF;IACvF,IAAI,EAAE,CAAC,CAAC;gBAEI,KAAK,EAAE;QAAC,OAAO,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,CAAC,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAC;IAMrD,yCAAyC;IACzC,OAAO;IAKP,4GAA4G;IAC5G,IAAI;CAKL;AAED,uDAAuD;AACvD,qBAAa,gBAAiB,SAAQ,IAAI,CAAC,WAAW,CAAC;gBACzC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB;IAoCnD;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO;CAcvD;AAED,sDAAsD;AACtD,qBAAa,WAAY,SAAQ,IAAI,CAAC,MAAM,CAAC;gBAC/B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW;IAI9C;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC;CAenC"}
|
package/dist/compute/swap.js
CHANGED
|
@@ -9,11 +9,13 @@ import { Texture } from '@luma.gl/core';
|
|
|
9
9
|
* @note the two resources can be destroyed by calling `destroy()`
|
|
10
10
|
*/
|
|
11
11
|
export class Swap {
|
|
12
|
+
id;
|
|
12
13
|
/** The current resource - usually the source for renders or computations */
|
|
13
14
|
current;
|
|
14
15
|
/** The next resource - usually the target/destination for transforms / computations */
|
|
15
16
|
next;
|
|
16
17
|
constructor(props) {
|
|
18
|
+
this.id = props.id || 'swap';
|
|
17
19
|
this.current = props.current;
|
|
18
20
|
this.next = props.next;
|
|
19
21
|
}
|
|
@@ -33,22 +35,25 @@ export class Swap {
|
|
|
33
35
|
export class SwapFramebuffers extends Swap {
|
|
34
36
|
constructor(device, props) {
|
|
35
37
|
props = { ...props };
|
|
38
|
+
const { width = 1, height = 1 } = props;
|
|
36
39
|
let colorAttachments = props.colorAttachments?.map(colorAttachment => typeof colorAttachment !== 'string'
|
|
37
40
|
? colorAttachment
|
|
38
41
|
: device.createTexture({
|
|
42
|
+
id: `${props.id}-texture-0`,
|
|
39
43
|
format: colorAttachment,
|
|
40
44
|
usage: Texture.SAMPLE | Texture.RENDER | Texture.COPY_SRC | Texture.COPY_DST,
|
|
41
|
-
width
|
|
42
|
-
height
|
|
45
|
+
width,
|
|
46
|
+
height
|
|
43
47
|
}));
|
|
44
48
|
const current = device.createFramebuffer({ ...props, colorAttachments });
|
|
45
49
|
colorAttachments = props.colorAttachments?.map(colorAttachment => typeof colorAttachment !== 'string'
|
|
46
50
|
? colorAttachment
|
|
47
51
|
: device.createTexture({
|
|
52
|
+
id: `${props.id}-texture-1`,
|
|
48
53
|
format: colorAttachment,
|
|
49
|
-
usage: Texture.
|
|
50
|
-
width
|
|
51
|
-
height
|
|
54
|
+
usage: Texture.SAMPLE | Texture.RENDER | Texture.COPY_SRC | Texture.COPY_DST,
|
|
55
|
+
width,
|
|
56
|
+
height
|
|
52
57
|
}));
|
|
53
58
|
const next = device.createFramebuffer({ ...props, colorAttachments });
|
|
54
59
|
super({ current, next });
|
package/dist/compute/swap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/compute/swap.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAwC,OAAO,EAAC,MAAM,eAAe,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,OAAO,IAAI;IACf,4EAA4E;IAC5E,OAAO,CAAI;IACX,uFAAuF;IACvF,IAAI,CAAI;IAER,YAAY,
|
|
1
|
+
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/compute/swap.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAwC,OAAO,EAAC,MAAM,eAAe,CAAC;AAE7E;;;;;GAKG;AACH,MAAM,OAAO,IAAI;IACf,EAAE,CAAS;IAEX,4EAA4E;IAC5E,OAAO,CAAI;IACX,uFAAuF;IACvF,IAAI,CAAI;IAER,YAAY,KAAyC;QACnD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,IAAI,MAAM,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAED,yCAAyC;IACzC,OAAO;QACL,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,4GAA4G;IAC5G,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,CAAC;CACF;AAED,uDAAuD;AACvD,MAAM,OAAO,gBAAiB,SAAQ,IAAiB;IACrD,YAAY,MAAc,EAAE,KAAuB;QACjD,KAAK,GAAG,EAAC,GAAG,KAAK,EAAC,CAAC;QAEnB,MAAM,EAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAC,GAAG,KAAK,CAAC;QAEtC,IAAI,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,CACnE,OAAO,eAAe,KAAK,QAAQ;YACjC,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;gBACnB,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,YAAY;gBAC3B,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;gBAC5E,KAAK;gBACL,MAAM;aACP,CAAC,CACP,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,EAAC,GAAG,KAAK,EAAE,gBAAgB,EAAC,CAAC,CAAC;QAEvE,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,CAC/D,OAAO,eAAe,KAAK,QAAQ;YACjC,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;gBACnB,EAAE,EAAE,GAAG,KAAK,CAAC,EAAE,YAAY;gBAC3B,MAAM,EAAE,eAAe;gBACvB,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ;gBAC5E,KAAK;gBACL,MAAM;aACP,CAAC,CACP,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC,EAAC,GAAG,KAAK,EAAE,gBAAgB,EAAC,CAAC,CAAC;QAEpE,KAAK,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAqC;QAC1C,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,CAAC,OAAO,EAAE,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,sDAAsD;AACtD,MAAM,OAAO,WAAY,SAAQ,IAAY;IAC3C,YAAY,MAAc,EAAE,KAAkB;QAC5C,KAAK,CAAC,EAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC;IACjF,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAA2B;QAChC,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAC,OAAO,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,CAAC,OAAO,EAAE,CAAC;QAElB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QAEf,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import type { Framebuffer, Texture } from '@luma.gl/core';
|
|
2
|
-
|
|
3
|
-
export declare function debugFramebuffer(fbo: Framebuffer | Texture, { id, minimap, opaque, top, left, rgbaScale }: {
|
|
1
|
+
import type { Framebuffer, RenderPass, Texture } from '@luma.gl/core';
|
|
2
|
+
type DebugFramebufferOptions = {
|
|
4
3
|
id: string;
|
|
5
4
|
minimap?: boolean;
|
|
6
5
|
opaque?: boolean;
|
|
7
6
|
top?: string;
|
|
8
7
|
left?: string;
|
|
9
8
|
rgbaScale?: number;
|
|
10
|
-
}
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Debug utility to blit queued offscreen framebuffers into the default framebuffer
|
|
12
|
+
* without CPU readback. Currently implemented for WebGL only.
|
|
13
|
+
*/
|
|
14
|
+
export declare function debugFramebuffer(renderPass: RenderPass, source: Framebuffer | Texture | null, options: DebugFramebufferOptions): void;
|
|
15
|
+
export {};
|
|
11
16
|
//# sourceMappingURL=debug-framebuffer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-framebuffer.d.ts","sourceRoot":"","sources":["../../src/debug/debug-framebuffer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"debug-framebuffer.d.ts","sourceRoot":"","sources":["../../src/debug/debug-framebuffer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAS,WAAW,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAK5E,KAAK,uBAAuB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAOF;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,IAAI,EACpC,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAoBN"}
|
|
@@ -1,52 +1,98 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
for (
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
4
|
+
const DEBUG_FRAMEBUFFER_STATE_KEY = '__debugFramebufferState';
|
|
5
|
+
const DEFAULT_MARGIN_PX = 8;
|
|
6
|
+
/**
|
|
7
|
+
* Debug utility to blit queued offscreen framebuffers into the default framebuffer
|
|
8
|
+
* without CPU readback. Currently implemented for WebGL only.
|
|
9
|
+
*/
|
|
10
|
+
export function debugFramebuffer(renderPass, source, options) {
|
|
11
|
+
if (renderPass.device.type !== 'webgl') {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const state = getDebugFramebufferState(renderPass.device);
|
|
15
|
+
if (state.flushing) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
if (isDefaultRenderPass(renderPass)) {
|
|
19
|
+
flushDebugFramebuffers(renderPass, options, state);
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
if (source && isFramebuffer(source) && source.handle !== null) {
|
|
23
|
+
if (!state.queuedFramebuffers.includes(source)) {
|
|
24
|
+
state.queuedFramebuffers.push(source);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function flushDebugFramebuffers(renderPass, options, state) {
|
|
29
|
+
if (state.queuedFramebuffers.length === 0) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
const webglDevice = renderPass.device;
|
|
33
|
+
const { gl } = webglDevice;
|
|
34
|
+
const previousReadFramebuffer = gl.getParameter(36010);
|
|
35
|
+
const previousDrawFramebuffer = gl.getParameter(36006);
|
|
36
|
+
const [targetWidth, targetHeight] = renderPass.device
|
|
37
|
+
.getDefaultCanvasContext()
|
|
38
|
+
.getDrawingBufferSize();
|
|
39
|
+
let topPx = parseCssPixel(options.top, DEFAULT_MARGIN_PX);
|
|
40
|
+
const leftPx = parseCssPixel(options.left, DEFAULT_MARGIN_PX);
|
|
41
|
+
state.flushing = true;
|
|
42
|
+
try {
|
|
43
|
+
for (const framebuffer of state.queuedFramebuffers) {
|
|
44
|
+
const [targetX0, targetY0, targetX1, targetY1, previewHeight] = getOverlayRect({
|
|
45
|
+
framebuffer,
|
|
46
|
+
targetWidth,
|
|
47
|
+
targetHeight,
|
|
48
|
+
topPx,
|
|
49
|
+
leftPx,
|
|
50
|
+
minimap: options.minimap
|
|
51
|
+
});
|
|
52
|
+
gl.bindFramebuffer(36008, framebuffer.handle);
|
|
53
|
+
gl.bindFramebuffer(36009, null);
|
|
54
|
+
gl.blitFramebuffer(0, 0, framebuffer.width, framebuffer.height, targetX0, targetY0, targetX1, targetY1, 16384, 9728);
|
|
55
|
+
topPx += previewHeight + DEFAULT_MARGIN_PX;
|
|
48
56
|
}
|
|
49
|
-
ctx?.putImageData(imageData, 0, 0);
|
|
50
57
|
}
|
|
58
|
+
finally {
|
|
59
|
+
gl.bindFramebuffer(36008, previousReadFramebuffer);
|
|
60
|
+
gl.bindFramebuffer(36009, previousDrawFramebuffer);
|
|
61
|
+
state.flushing = false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
function getOverlayRect(options) {
|
|
65
|
+
const { framebuffer, targetWidth, targetHeight, topPx, leftPx, minimap } = options;
|
|
66
|
+
const maxWidth = minimap ? Math.max(Math.floor(targetWidth / 4), 1) : targetWidth;
|
|
67
|
+
const maxHeight = minimap ? Math.max(Math.floor(targetHeight / 4), 1) : targetHeight;
|
|
68
|
+
const scale = Math.min(maxWidth / framebuffer.width, maxHeight / framebuffer.height);
|
|
69
|
+
const previewWidth = Math.max(Math.floor(framebuffer.width * scale), 1);
|
|
70
|
+
const previewHeight = Math.max(Math.floor(framebuffer.height * scale), 1);
|
|
71
|
+
const targetX0 = leftPx;
|
|
72
|
+
const targetY0 = Math.max(targetHeight - topPx - previewHeight, 0);
|
|
73
|
+
const targetX1 = targetX0 + previewWidth;
|
|
74
|
+
const targetY1 = targetY0 + previewHeight;
|
|
75
|
+
return [targetX0, targetY0, targetX1, targetY1, previewHeight];
|
|
76
|
+
}
|
|
77
|
+
function getDebugFramebufferState(device) {
|
|
78
|
+
device.userData[DEBUG_FRAMEBUFFER_STATE_KEY] ||= {
|
|
79
|
+
flushing: false,
|
|
80
|
+
queuedFramebuffers: []
|
|
81
|
+
};
|
|
82
|
+
return device.userData[DEBUG_FRAMEBUFFER_STATE_KEY];
|
|
83
|
+
}
|
|
84
|
+
function isFramebuffer(value) {
|
|
85
|
+
return 'colorAttachments' in value;
|
|
86
|
+
}
|
|
87
|
+
function isDefaultRenderPass(renderPass) {
|
|
88
|
+
const framebuffer = renderPass.props.framebuffer;
|
|
89
|
+
return !framebuffer || framebuffer.handle === null;
|
|
90
|
+
}
|
|
91
|
+
function parseCssPixel(value, defaultValue) {
|
|
92
|
+
if (!value) {
|
|
93
|
+
return defaultValue;
|
|
94
|
+
}
|
|
95
|
+
const parsedValue = Number.parseInt(value, 10);
|
|
96
|
+
return Number.isFinite(parsedValue) ? parsedValue : defaultValue;
|
|
51
97
|
}
|
|
52
98
|
//# sourceMappingURL=debug-framebuffer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"debug-framebuffer.js","sourceRoot":"","sources":["../../src/debug/debug-framebuffer.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;
|
|
1
|
+
{"version":3,"file":"debug-framebuffer.js","sourceRoot":"","sources":["../../src/debug/debug-framebuffer.ts"],"names":[],"mappings":"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"}
|