@luma.gl/engine 9.1.0-alpha.15 → 9.1.0-alpha.17
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.map +1 -1
- package/dist/animation-loop/animation-loop.js +4 -4
- package/dist/animation-loop/make-animation-loop.d.ts.map +1 -1
- package/dist/animation-loop/make-animation-loop.js +2 -1
- package/dist/animation-loop/request-animation-frame.d.ts +4 -2
- package/dist/animation-loop/request-animation-frame.d.ts.map +1 -1
- package/dist/animation-loop/request-animation-frame.js +4 -3
- package/dist/application-utils/load-file.d.ts +1 -1
- package/dist/application-utils/load-file.d.ts.map +1 -1
- package/dist/application-utils/load-file.js +1 -1
- package/dist/async-texture/async-texture.d.ts +1 -1
- package/dist/async-texture/async-texture.d.ts.map +1 -1
- package/dist/async-texture/async-texture.js +7 -1
- package/dist/compute/computation.d.ts +2 -2
- package/dist/compute/computation.d.ts.map +1 -1
- package/dist/compute/computation.js +3 -3
- package/dist/compute/swap.d.ts +27 -1
- package/dist/compute/swap.d.ts.map +1 -1
- package/dist/compute/swap.js +44 -0
- package/dist/compute/texture-transform.d.ts.map +1 -1
- package/dist/compute/texture-transform.js +6 -1
- package/dist/dist.dev.js +953 -59
- package/dist/dist.min.js +388 -2
- package/dist/factories/pipeline-factory.d.ts.map +1 -0
- package/dist/factories/shader-factory.d.ts.map +1 -0
- package/dist/index.cjs +952 -59
- package/dist/index.cjs.map +4 -4
- package/dist/index.d.ts +16 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -7
- package/dist/model/model.d.ts +2 -2
- package/dist/model/model.d.ts.map +1 -1
- package/dist/model/model.js +18 -14
- package/dist/models/billboard-texture-model.d.ts +23 -0
- package/dist/models/billboard-texture-model.d.ts.map +1 -0
- package/dist/models/billboard-texture-model.js +59 -0
- package/dist/models/billboard-texture-module.d.ts +10 -0
- package/dist/models/billboard-texture-module.d.ts.map +1 -0
- package/dist/models/billboard-texture-module.js +36 -0
- package/dist/models/clip-space.d.ts +11 -0
- package/dist/models/clip-space.d.ts.map +1 -0
- package/dist/{lib → models}/clip-space.js +29 -1
- package/dist/modules/picking/color-picking.d.ts +28 -0
- package/dist/modules/picking/color-picking.d.ts.map +1 -0
- package/dist/modules/picking/color-picking.js +176 -0
- package/dist/modules/picking/index-picking.d.ts +32 -0
- package/dist/modules/picking/index-picking.d.ts.map +1 -0
- package/dist/modules/picking/index-picking.js +147 -0
- package/dist/modules/picking/legacy-picking-manager.d.ts +27 -0
- package/dist/modules/picking/legacy-picking-manager.d.ts.map +1 -0
- package/dist/modules/picking/legacy-picking-manager.js +75 -0
- package/dist/modules/picking/picking-manager.d.ts +25 -7
- package/dist/modules/picking/picking-manager.d.ts.map +1 -1
- package/dist/modules/picking/picking-manager.js +47 -22
- package/dist/modules/picking/picking-uniforms.d.ts +79 -0
- package/dist/modules/picking/picking-uniforms.d.ts.map +1 -0
- package/dist/modules/picking/picking-uniforms.js +108 -0
- package/dist/passes/get-fragment-shader.d.ts +12 -0
- package/dist/passes/get-fragment-shader.d.ts.map +1 -0
- package/dist/passes/get-fragment-shader.js +116 -0
- package/dist/passes/shader-pass-renderer.d.ts +63 -0
- package/dist/passes/shader-pass-renderer.d.ts.map +1 -0
- package/dist/passes/shader-pass-renderer.js +187 -0
- package/dist/shader-inputs.d.ts +8 -21
- package/dist/shader-inputs.d.ts.map +1 -1
- package/dist/shader-inputs.js +14 -11
- package/package.json +4 -4
- package/src/animation-loop/animation-loop.ts +7 -4
- package/src/animation-loop/make-animation-loop.ts +2 -1
- package/src/animation-loop/request-animation-frame.ts +4 -3
- package/src/application-utils/load-file.ts +2 -2
- package/src/async-texture/async-texture.ts +10 -2
- package/src/compute/computation.ts +3 -3
- package/src/compute/swap.ts +57 -1
- package/src/compute/texture-transform.ts +6 -1
- package/src/index.ts +25 -11
- package/src/model/model.ts +20 -15
- package/src/models/billboard-texture-model.ts +79 -0
- package/src/models/billboard-texture-module.ts +49 -0
- package/src/{lib → models}/clip-space.ts +35 -2
- package/src/modules/picking/README.md +88 -0
- package/src/modules/picking/color-picking.ts +190 -0
- package/src/modules/picking/index-picking.ts +156 -0
- package/src/modules/picking/legacy-picking-manager.ts +99 -0
- package/src/modules/picking/picking-manager.ts +66 -25
- package/src/modules/picking/picking-uniforms.ts +179 -0
- package/src/passes/get-fragment-shader.ts +129 -0
- package/src/passes/shader-pass-renderer.ts +242 -0
- package/src/shader-inputs.ts +27 -48
- package/dist/lib/clip-space.d.ts +0 -9
- package/dist/lib/clip-space.d.ts.map +0 -1
- package/dist/lib/pipeline-factory.d.ts.map +0 -1
- package/dist/lib/shader-factory.d.ts.map +0 -1
- /package/dist/{lib → factories}/pipeline-factory.d.ts +0 -0
- /package/dist/{lib → factories}/pipeline-factory.js +0 -0
- /package/dist/{lib → factories}/shader-factory.d.ts +0 -0
- /package/dist/{lib → factories}/shader-factory.js +0 -0
- /package/src/{lib → factories}/pipeline-factory.ts +0 -0
- /package/src/{lib → factories}/shader-factory.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"animation-loop.d.ts","sourceRoot":"","sources":["../../src/animation-loop/animation-loop.ts"],"names":[],"mappings":"AAIA,OAAO,EAAO,MAAM,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"animation-loop.d.ts","sourceRoot":"","sources":["../../src/animation-loop/animation-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
4
|
import { luma } from '@luma.gl/core';
|
|
5
|
-
import {
|
|
5
|
+
import { requestAnimationFramePolyfill, cancelAnimationFramePolyfill } from "./request-animation-frame.js";
|
|
6
6
|
import { Stats } from '@probe.gl/stats';
|
|
7
7
|
let statIdCounter = 0;
|
|
8
8
|
const DEFAULT_ANIMATION_LOOP_PROPS = {
|
|
@@ -239,7 +239,7 @@ export class AnimationLoop {
|
|
|
239
239
|
// if (this.display && this.display.requestAnimationFrame) {
|
|
240
240
|
// this._animationFrameId = this.display.requestAnimationFrame(this._animationFrame.bind(this));
|
|
241
241
|
// }
|
|
242
|
-
this._animationFrameId =
|
|
242
|
+
this._animationFrameId = requestAnimationFramePolyfill(this._animationFrame.bind(this));
|
|
243
243
|
}
|
|
244
244
|
_cancelAnimationFrame() {
|
|
245
245
|
if (this._animationFrameId === null) {
|
|
@@ -248,10 +248,10 @@ export class AnimationLoop {
|
|
|
248
248
|
// VR display has a separate animation frame to sync with headset
|
|
249
249
|
// TODO WebVR API discontinued, replaced by WebXR: https://immersive-web.github.io/webxr/
|
|
250
250
|
// See https://developer.mozilla.org/en-US/docs/Web/API/VRDisplay/requestAnimationFrame
|
|
251
|
-
// if (this.display && this.display.
|
|
251
|
+
// if (this.display && this.display.cancelAnimationFramePolyfill) {
|
|
252
252
|
// this.display.cancelAnimationFrame(this._animationFrameId);
|
|
253
253
|
// }
|
|
254
|
-
|
|
254
|
+
cancelAnimationFramePolyfill(this._animationFrameId);
|
|
255
255
|
this._animationFrameId = null;
|
|
256
256
|
}
|
|
257
257
|
_animationFrame() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-animation-loop.d.ts","sourceRoot":"","sources":["../../src/animation-loop/make-animation-loop.ts"],"names":[],"mappings":"AAIA,OAAO,EAAO,OAAO,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAC,qCAAkC;AAChE,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,4BAAyB;AAGnE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,kBAAkB,EAClB,gBAAgB,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAC9D,GAAG;IACF,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAEF,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAC/B,yBAAyB,EAAE,OAAO,qBAAqB,EACvD,KAAK,CAAC,EAAE,sBAAsB,GAC7B,aAAa,
|
|
1
|
+
{"version":3,"file":"make-animation-loop.d.ts","sourceRoot":"","sources":["../../src/animation-loop/make-animation-loop.ts"],"names":[],"mappings":"AAIA,OAAO,EAAO,OAAO,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAC,qCAAkC;AAChE,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,4BAAyB;AAGnE,MAAM,MAAM,sBAAsB,GAAG,IAAI,CACvC,kBAAkB,EAClB,gBAAgB,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAC9D,GAAG;IACF,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAEF,4CAA4C;AAC5C,wBAAgB,iBAAiB,CAC/B,yBAAyB,EAAE,OAAO,qBAAqB,EACvD,KAAK,CAAC,EAAE,sBAAsB,GAC7B,aAAa,CAoCf"}
|
|
@@ -6,7 +6,8 @@ import { AnimationLoop } from "./animation-loop.js";
|
|
|
6
6
|
/** Instantiates and runs the render loop */
|
|
7
7
|
export function makeAnimationLoop(AnimationLoopTemplateCtor, props) {
|
|
8
8
|
let renderLoop = null;
|
|
9
|
-
const device = props?.device ||
|
|
9
|
+
const device = props?.device ||
|
|
10
|
+
luma.createDevice({ id: 'animation-loop', adapters: props?.adapters, createCanvasContext: true });
|
|
10
11
|
// Create an animation loop;
|
|
11
12
|
const animationLoop = new AnimationLoop({
|
|
12
13
|
...props,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function
|
|
1
|
+
/** Node.js polyfill for requestAnimationFrame */
|
|
2
|
+
export declare function requestAnimationFramePolyfill(callback: (time?: any) => void): any;
|
|
3
|
+
/** Node.js polyfill for cancelAnimationFrame */
|
|
4
|
+
export declare function cancelAnimationFramePolyfill(timerId: any): void;
|
|
3
5
|
//# sourceMappingURL=request-animation-frame.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-animation-frame.d.ts","sourceRoot":"","sources":["../../src/animation-loop/request-animation-frame.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-animation-frame.d.ts","sourceRoot":"","sources":["../../src/animation-loop/request-animation-frame.ts"],"names":[],"mappings":"AAMA,iDAAiD;AAEjD,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,GAAG,CAIjF;AAED,gDAAgD;AAChD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI,CAI/D"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
// luma.gl
|
|
2
2
|
// SPDX-License-Identifier: MIT
|
|
3
3
|
// Copyright (c) vis.gl contributors
|
|
4
|
-
// Node.js polyfills for requestAnimationFrame and cancelAnimationFrame
|
|
5
4
|
/* global window, setTimeout, clearTimeout */
|
|
5
|
+
/** Node.js polyfill for requestAnimationFrame */
|
|
6
6
|
// / <reference types="@types/node" />
|
|
7
|
-
export function
|
|
7
|
+
export function requestAnimationFramePolyfill(callback) {
|
|
8
8
|
return typeof window !== 'undefined' && window.requestAnimationFrame
|
|
9
9
|
? window.requestAnimationFrame(callback)
|
|
10
10
|
: setTimeout(callback, 1000 / 60);
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
/** Node.js polyfill for cancelAnimationFrame */
|
|
13
|
+
export function cancelAnimationFramePolyfill(timerId) {
|
|
13
14
|
return typeof window !== 'undefined' && window.cancelAnimationFrame
|
|
14
15
|
? window.cancelAnimationFrame(timerId)
|
|
15
16
|
: clearTimeout(timerId);
|
|
@@ -9,7 +9,7 @@ export declare function setPathPrefix(prefix: string): void;
|
|
|
9
9
|
*/
|
|
10
10
|
export declare function loadImageBitmap(url: string, opts?: {
|
|
11
11
|
crossOrigin?: string;
|
|
12
|
-
}): Promise<ImageBitmap>;
|
|
12
|
+
} & ImageBitmapOptions): Promise<ImageBitmap>;
|
|
13
13
|
/**
|
|
14
14
|
* Loads image asynchronously. Respects setPathPrefix.
|
|
15
15
|
* image.crossOrigin can be set via opts.crossOrigin, default to 'anonymous'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-file.d.ts","sourceRoot":"","sources":["../../src/application-utils/load-file.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,QAE3C;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAC,
|
|
1
|
+
{"version":3,"file":"load-file.d.ts","sourceRoot":"","sources":["../../src/application-utils/load-file.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,QAE3C;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,kBAAkB,GACjD,OAAO,CAAC,WAAW,CAAC,CAMtB;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAC,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAY3B"}
|
|
@@ -18,7 +18,7 @@ export async function loadImageBitmap(url, opts) {
|
|
|
18
18
|
image.crossOrigin = opts?.crossOrigin || 'anonymous';
|
|
19
19
|
image.src = url.startsWith('http') ? url : pathPrefix + url;
|
|
20
20
|
await image.decode();
|
|
21
|
-
return await createImageBitmap(image);
|
|
21
|
+
return opts ? await createImageBitmap(image, opts) : await createImageBitmap(image);
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
24
|
* Loads image asynchronously. Respects setPathPrefix.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-texture.d.ts","sourceRoot":"","sources":["../../src/async-texture/async-texture.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,OAAO,EACP,WAAW,EACX,MAAM,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAAC;AAEnF,KAAK,qBAAqB,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,qBAAqB,GACrB,0BAA0B,CAAC;AAE/B,KAAK,mBAAmB,GAAG;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,IAAI,CAAA;CAAC,CAAC;AAClG,KAAK,mBAAmB,GAAG;IAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,IAAI,CAAA;CAAC,CAAC;AACnG,KAAK,mBAAmB,GAAG;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,IAAI,CAAA;CAAC,CAAC;AAClG,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAC3D,CAAC;AACF,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC;CACzD,CAAC;AACF,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,YAAY,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,GAAG,IAAI,CAAC;CACnE,CAAC;AAKF;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAIxB,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IAEjB,IAAI,EAAE,WAAW,CAAC;IAElB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAS;IACzB,SAAS,EAAE,OAAO,CAAS;IAE3B,SAAS,CAAC,YAAY,EAAE,MAAM,IAAI,CAAY;IAC9C,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAY;gBAE7C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB;IAmB9C,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBxD,OAAO,IAAI,IAAI;IASf;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"async-texture.d.ts","sourceRoot":"","sources":["../../src/async-texture/async-texture.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,OAAO,EACP,WAAW,EACX,MAAM,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAIvB,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,qBAAqB,CAAC;AAEnF,KAAK,qBAAqB,GACtB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,sBAAsB,GACtB,qBAAqB,GACrB,0BAA0B,CAAC;AAE/B,KAAK,mBAAmB,GAAG;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,IAAI,CAAA;CAAC,CAAC;AAClG,KAAK,mBAAmB,GAAG;IAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,IAAI,CAAA;CAAC,CAAC;AACnG,KAAK,mBAAmB,GAAG;IAAC,SAAS,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,GAAG,IAAI,CAAA;CAAC,CAAC;AAClG,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,UAAU,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAC3D,CAAC;AACF,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,GAAG,IAAI,CAAC;CACzD,CAAC;AACF,KAAK,0BAA0B,GAAG;IAChC,SAAS,EAAE,YAAY,CAAC;IACxB,IAAI,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,oBAAoB,GAAG,IAAI,CAAC;CACnE,CAAC;AAKF;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAIxB,OAAO,EAAE,OAAO,CAAC;IAEjB,OAAO,EAAE,OAAO,CAAC;IAEjB,IAAI,EAAE,WAAW,CAAC;IAElB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAS;IACzB,SAAS,EAAE,OAAO,CAAS;IAE3B,SAAS,CAAC,YAAY,EAAE,MAAM,IAAI,CAAY;IAC9C,SAAS,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAY;gBAE7C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB;IAmB9C,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBxD,OAAO,IAAI,IAAI;IASf;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO;CAgBvD"}
|
|
@@ -71,9 +71,15 @@ export class AsyncTexture {
|
|
|
71
71
|
if (!this.isReady) {
|
|
72
72
|
throw new Error('Cannot resize texture before it is ready');
|
|
73
73
|
}
|
|
74
|
+
if (size.width === this.texture.width && size.height === this.texture.height) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
74
77
|
if (this.texture) {
|
|
75
|
-
|
|
78
|
+
const texture = this.texture;
|
|
79
|
+
this.texture = texture.clone(size);
|
|
80
|
+
texture.destroy();
|
|
76
81
|
}
|
|
82
|
+
return true;
|
|
77
83
|
}
|
|
78
84
|
}
|
|
79
85
|
// HELPERS
|
|
@@ -4,8 +4,8 @@ import type { ShaderModule, PlatformInfo } from '@luma.gl/shadertools';
|
|
|
4
4
|
import { ShaderAssembler } from '@luma.gl/shadertools';
|
|
5
5
|
import { TypedArray } from '@math.gl/types';
|
|
6
6
|
import { ShaderInputs } from "../shader-inputs.js";
|
|
7
|
-
import { PipelineFactory } from "../
|
|
8
|
-
import { ShaderFactory } from "../
|
|
7
|
+
import { PipelineFactory } from "../factories/pipeline-factory.js";
|
|
8
|
+
import { ShaderFactory } from "../factories/shader-factory.js";
|
|
9
9
|
export type ComputationProps = Omit<ComputePipelineProps, 'shader'> & {
|
|
10
10
|
source?: string;
|
|
11
11
|
/** shadertool shader modules (added to shader code) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"computation.d.ts","sourceRoot":"","sources":["../../src/compute/computation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAgB,oBAAoB,EAAE,MAAM,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AACxF,OAAO,EACL,MAAM,EACN,MAAM,EACN,eAAe,EACf,WAAW,EACX,YAAY,EAGb,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAC,eAAe,EAA0B,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAC,UAAU,EAAiB,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAC,4BAAyB;AAC9C,OAAO,EAAC,eAAe,EAAC,
|
|
1
|
+
{"version":3,"file":"computation.d.ts","sourceRoot":"","sources":["../../src/compute/computation.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import { Buffer, ComputePipeline, UniformStore, log, getTypedArrayFromDataType }
|
|
|
5
5
|
import { ShaderAssembler, getShaderLayoutFromWGSL } from '@luma.gl/shadertools';
|
|
6
6
|
import { isNumericArray } from '@math.gl/types';
|
|
7
7
|
import { ShaderInputs } from "../shader-inputs.js";
|
|
8
|
-
import { PipelineFactory } from "../
|
|
9
|
-
import { ShaderFactory } from "../
|
|
8
|
+
import { PipelineFactory } from "../factories/pipeline-factory.js";
|
|
9
|
+
import { ShaderFactory } from "../factories/shader-factory.js";
|
|
10
10
|
import { uid } from "../utils/uid.js";
|
|
11
11
|
// import {getDebugTableForShaderLayout} from '../debug/debug-shader-layout';
|
|
12
12
|
const LOG_DRAW_PRIORITY = 2;
|
|
@@ -196,7 +196,7 @@ export class Computation {
|
|
|
196
196
|
id: `${this.id}-fragment`,
|
|
197
197
|
stage: 'compute',
|
|
198
198
|
source: this.source,
|
|
199
|
-
|
|
199
|
+
debugShaders: this.props.debugShaders
|
|
200
200
|
});
|
|
201
201
|
this.pipeline = this.pipelineFactory.createComputePipeline({
|
|
202
202
|
...this.props,
|
package/dist/compute/swap.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { BufferProps, FramebufferProps } from '@luma.gl/core';
|
|
2
|
+
import { Device, Resource, Buffer, Framebuffer } from '@luma.gl/core';
|
|
2
3
|
/**
|
|
3
4
|
* Helper class for working with repeated transformations / computations
|
|
4
5
|
* Primarily intended for GPU buffers `Swap<Buffer>` or textures `Swap<Texture>`)
|
|
@@ -19,4 +20,29 @@ export declare class Swap<T extends Resource<any>> {
|
|
|
19
20
|
/** Make the next resource into the current resource, and reuse the current resource as the next resource */
|
|
20
21
|
swap(): void;
|
|
21
22
|
}
|
|
23
|
+
/** Helper for managing double-buffered framebuffers */
|
|
24
|
+
export declare class SwapFramebuffers extends Swap<Framebuffer> {
|
|
25
|
+
constructor(device: Device, props: FramebufferProps);
|
|
26
|
+
/**
|
|
27
|
+
* Resizes the Framebuffers.
|
|
28
|
+
* @returns true if the size changed, otherwise exiting framebuffers were preserved
|
|
29
|
+
* @note any contents are not preserved!
|
|
30
|
+
*/
|
|
31
|
+
resize(size: {
|
|
32
|
+
width: number;
|
|
33
|
+
height: number;
|
|
34
|
+
}): boolean;
|
|
35
|
+
}
|
|
36
|
+
/** Helper for managing double-buffered GPU buffers */
|
|
37
|
+
export declare class SwapBuffers extends Swap<Buffer> {
|
|
38
|
+
constructor(device: Device, props: BufferProps);
|
|
39
|
+
/**
|
|
40
|
+
* Resizes the Buffers.
|
|
41
|
+
* @returns true if the size changed, otherwise exiting buffers were preserved.
|
|
42
|
+
* @note any contents are not preserved!
|
|
43
|
+
*/
|
|
44
|
+
resize(props: {
|
|
45
|
+
byteLength: number;
|
|
46
|
+
}): boolean;
|
|
47
|
+
}
|
|
22
48
|
//# sourceMappingURL=swap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/compute/swap.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;
|
|
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,EAAC,MAAM,eAAe,CAAC;AAEpE;;;;;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;IAKxC,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;IAInD;;;;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
|
@@ -28,3 +28,47 @@ export class Swap {
|
|
|
28
28
|
this.next = current;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
/** Helper for managing double-buffered framebuffers */
|
|
32
|
+
export class SwapFramebuffers extends Swap {
|
|
33
|
+
constructor(device, props) {
|
|
34
|
+
super({ current: device.createFramebuffer(props), next: device.createFramebuffer(props) });
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Resizes the Framebuffers.
|
|
38
|
+
* @returns true if the size changed, otherwise exiting framebuffers were preserved
|
|
39
|
+
* @note any contents are not preserved!
|
|
40
|
+
*/
|
|
41
|
+
resize(size) {
|
|
42
|
+
if (size.width === this.current.width && size.height === this.current.height) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
const { current, next } = this;
|
|
46
|
+
this.current = current.clone(size);
|
|
47
|
+
current.destroy();
|
|
48
|
+
this.next = next.clone(size);
|
|
49
|
+
next.destroy();
|
|
50
|
+
return true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/** Helper for managing double-buffered GPU buffers */
|
|
54
|
+
export class SwapBuffers extends Swap {
|
|
55
|
+
constructor(device, props) {
|
|
56
|
+
super({ current: device.createBuffer(props), next: device.createBuffer(props) });
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Resizes the Buffers.
|
|
60
|
+
* @returns true if the size changed, otherwise exiting buffers were preserved.
|
|
61
|
+
* @note any contents are not preserved!
|
|
62
|
+
*/
|
|
63
|
+
resize(props) {
|
|
64
|
+
if (props.byteLength === this.current.byteLength) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
const { current, next } = this;
|
|
68
|
+
this.current = current.clone(props);
|
|
69
|
+
current.destroy();
|
|
70
|
+
this.next = next.clone(props);
|
|
71
|
+
next.destroy();
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"texture-transform.d.ts","sourceRoot":"","sources":["../../src/compute/texture-transform.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAC,KAAK,EAAE,UAAU,EAAC,0BAAuB;AAGjD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG;IAC3D,EAAE,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACtB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,4CAA4C;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAIF;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,YAAY,SAAK;IACjB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAQ;IACrD,QAAQ,EAAE,cAAc,EAAE,CAAM;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAExB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IA8BxD,OAAO,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"texture-transform.d.ts","sourceRoot":"","sources":["../../src/compute/texture-transform.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAC,KAAK,EAAE,UAAU,EAAC,0BAAuB;AAGjD;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG;IAC3D,EAAE,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IACtB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,4CAA4C;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,gEAAgE;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,gEAAgE;IAChE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACrC,oBAAoB,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAIF;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,YAAY,SAAK;IACjB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAQ;IACrD,QAAQ,EAAE,cAAc,EAAE,CAAM;IAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAM;gBAExB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB;IA8BxD,OAAO,IAAI,IAAI;IAOf,uCAAuC;IACvC,MAAM,IAAI,IAAI;IAId,GAAG,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,IAAI;IAOpC,gBAAgB,IAAI,OAAO;IAK3B,cAAc,IAAI,WAAW,GAAG,SAAS;IAOzC,WAAW,CAAC,KAAK,EAAE,qBAAqB,GAAG,IAAI;IAI/C,eAAe,CAAC,KAAK,EAAE,qBAAqB;IAI5C,cAAc,CACZ,OAAO,EAAE,cAAc,EACvB,EAAC,aAAa,EAAE,cAAc,EAAE,aAAa,EAAC,EAAE,qBAAqB,GACpE,cAAc;IA8BjB,2BAA2B,IAAI,IAAI;CAOpC"}
|
|
@@ -41,7 +41,12 @@ export class TextureTransform {
|
|
|
41
41
|
Object.seal(this);
|
|
42
42
|
}
|
|
43
43
|
// Delete owned resources.
|
|
44
|
-
destroy() {
|
|
44
|
+
destroy() {
|
|
45
|
+
this.model.destroy();
|
|
46
|
+
for (const binding of this.bindings) {
|
|
47
|
+
binding.framebuffer?.destroy();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
45
50
|
/** @deprecated Use {@link destroy}. */
|
|
46
51
|
delete() {
|
|
47
52
|
this.destroy();
|