@luma.gl/engine 9.2.6 → 9.3.0-alpha.2

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.
Files changed (71) hide show
  1. package/dist/animation-loop/animation-loop.d.ts +3 -1
  2. package/dist/animation-loop/animation-loop.d.ts.map +1 -1
  3. package/dist/animation-loop/animation-loop.js +10 -4
  4. package/dist/animation-loop/animation-loop.js.map +1 -1
  5. package/dist/compute/computation.d.ts.map +1 -1
  6. package/dist/compute/computation.js +3 -2
  7. package/dist/compute/computation.js.map +1 -1
  8. package/dist/compute/swap.d.ts +2 -0
  9. package/dist/compute/swap.d.ts.map +1 -1
  10. package/dist/compute/swap.js +10 -5
  11. package/dist/compute/swap.js.map +1 -1
  12. package/dist/dist.dev.js +554 -358
  13. package/dist/dist.min.js +59 -50
  14. package/dist/dynamic-texture/dynamic-texture.d.ts +95 -0
  15. package/dist/dynamic-texture/dynamic-texture.d.ts.map +1 -0
  16. package/dist/dynamic-texture/dynamic-texture.js +356 -0
  17. package/dist/dynamic-texture/dynamic-texture.js.map +1 -0
  18. package/dist/dynamic-texture/texture-data.d.ts +137 -0
  19. package/dist/dynamic-texture/texture-data.d.ts.map +1 -0
  20. package/dist/dynamic-texture/texture-data.js +183 -0
  21. package/dist/dynamic-texture/texture-data.js.map +1 -0
  22. package/dist/factories/pipeline-factory.d.ts.map +1 -1
  23. package/dist/factories/pipeline-factory.js +3 -3
  24. package/dist/factories/pipeline-factory.js.map +1 -1
  25. package/dist/factories/shader-factory.d.ts.map +1 -1
  26. package/dist/factories/shader-factory.js +3 -2
  27. package/dist/factories/shader-factory.js.map +1 -1
  28. package/dist/index.cjs +566 -370
  29. package/dist/index.cjs.map +4 -4
  30. package/dist/index.d.ts +8 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +4 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/model/model.d.ts +31 -10
  35. package/dist/model/model.d.ts.map +1 -1
  36. package/dist/model/model.js +34 -14
  37. package/dist/model/model.js.map +1 -1
  38. package/dist/models/billboard-texture-model.d.ts +8 -5
  39. package/dist/models/billboard-texture-model.d.ts.map +1 -1
  40. package/dist/models/billboard-texture-model.js +70 -18
  41. package/dist/models/billboard-texture-model.js.map +1 -1
  42. package/dist/passes/get-fragment-shader.js +15 -11
  43. package/dist/passes/get-fragment-shader.js.map +1 -1
  44. package/dist/passes/shader-pass-renderer.d.ts +5 -5
  45. package/dist/passes/shader-pass-renderer.d.ts.map +1 -1
  46. package/dist/passes/shader-pass-renderer.js +13 -12
  47. package/dist/passes/shader-pass-renderer.js.map +1 -1
  48. package/dist/types.d.ts +7 -0
  49. package/dist/types.d.ts.map +1 -0
  50. package/dist/types.js +5 -0
  51. package/dist/types.js.map +1 -0
  52. package/package.json +4 -4
  53. package/src/animation-loop/animation-loop.ts +11 -4
  54. package/src/compute/computation.ts +3 -2
  55. package/src/compute/swap.ts +13 -7
  56. package/src/dynamic-texture/dynamic-texture.ts +451 -0
  57. package/src/dynamic-texture/texture-data.ts +301 -0
  58. package/src/factories/pipeline-factory.ts +4 -3
  59. package/src/factories/shader-factory.ts +4 -2
  60. package/src/index.ts +9 -4
  61. package/src/model/model.ts +37 -18
  62. package/src/models/billboard-texture-model.ts +81 -22
  63. package/src/passes/get-fragment-shader.ts +15 -11
  64. package/src/passes/shader-pass-renderer.ts +22 -16
  65. package/src/types.ts +11 -0
  66. package/dist/async-texture/async-texture.d.ts +0 -166
  67. package/dist/async-texture/async-texture.d.ts.map +0 -1
  68. package/dist/async-texture/async-texture.js +0 -386
  69. package/dist/async-texture/async-texture.js.map +0 -1
  70. package/src/async-texture/async-texture.ts +0 -551
  71. /package/src/{async-texture/texture-setters.ts.disabled → dynamic-texture/texture-data.ts.disabled} +0 -0
package/dist/index.d.ts CHANGED
@@ -50,12 +50,17 @@ export { SwapBuffers } from "./compute/swap.js";
50
50
  export { SwapFramebuffers } from "./compute/swap.js";
51
51
  export type { ComputationProps } from "./compute/computation.js";
52
52
  export { Computation } from "./compute/computation.js";
53
- export type { TextureCubeFace, TextureImageData, TextureData, Texture1DData, Texture2DData, Texture3DData, TextureCubeData, TextureArrayData, TextureCubeArrayData } from "./async-texture/async-texture.js";
54
- export type { AsyncTextureProps } from "./async-texture/async-texture.js";
55
- export { AsyncTexture } from "./async-texture/async-texture.js";
53
+ export type { TextureCubeFace, TextureImageData, Texture1DData, Texture2DData, Texture3DData, TextureCubeData, TextureArrayData, TextureCubeArrayData } from "./dynamic-texture/texture-data.js";
54
+ export type { DynamicTextureProps } from "./dynamic-texture/dynamic-texture.js";
55
+ export { DynamicTexture } from "./dynamic-texture/dynamic-texture.js";
56
56
  export { PickingManager } from "./modules/picking/picking-manager.js";
57
57
  export { picking as indexPicking } from "./modules/picking/index-picking.js";
58
58
  export { picking as colorPicking } from "./modules/picking/color-picking.js";
59
59
  export { requestAnimationFramePolyfill, cancelAnimationFramePolyfill } from "./animation-loop/request-animation-frame.js";
60
60
  export { LegacyPickingManager } from "./modules/picking/legacy-picking-manager.js";
61
+ import { DynamicTexture, type DynamicTextureProps } from "./dynamic-texture/dynamic-texture.js";
62
+ /** @deprecated use DynamicTexture */
63
+ export declare const AsyncTexture: typeof DynamicTexture;
64
+ /** @deprecated use DynamicTextureProps */
65
+ export type AsyncTextureProps = DynamicTextureProps;
61
66
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -37,11 +37,14 @@ export { Swap } from "./compute/swap.js";
37
37
  export { SwapBuffers } from "./compute/swap.js";
38
38
  export { SwapFramebuffers } from "./compute/swap.js";
39
39
  export { Computation } from "./compute/computation.js";
40
- export { AsyncTexture } from "./async-texture/async-texture.js";
40
+ export { DynamicTexture } from "./dynamic-texture/dynamic-texture.js";
41
41
  export { PickingManager } from "./modules/picking/picking-manager.js";
42
42
  export { picking as indexPicking } from "./modules/picking/index-picking.js";
43
43
  export { picking as colorPicking } from "./modules/picking/color-picking.js";
44
44
  export { requestAnimationFramePolyfill, cancelAnimationFramePolyfill } from "./animation-loop/request-animation-frame.js";
45
45
  // DEPRECATED
46
46
  export { LegacyPickingManager } from "./modules/picking/legacy-picking-manager.js";
47
+ import { DynamicTexture } from "./dynamic-texture/dynamic-texture.js";
48
+ /** @deprecated use DynamicTexture */
49
+ export const AsyncTexture = DynamicTexture;
47
50
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,qBAAqB;AAErB,YAAY;AACZ,OAAO,EAAC,QAAQ,EAAC,gCAA6B;AAC9C,OAAO,EAAC,SAAS,EAAC,kCAA+B;AAGjD,OAAO,EAAC,qBAAqB,EAAC,oDAAiD;AAG/E,OAAO,EAAC,aAAa,EAAC,2CAAwC;AAG9D,OAAO,EAAC,iBAAiB,EAAC,gDAA6C;AAGvE,OAAO,EAAC,KAAK,EAAC,yBAAsB;AAIpC,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,EAAC,gBAAgB,EAAC,uCAAoC;AAE7D,OAAO,EAAC,eAAe,EAAC,wCAAqC;AAC7D,OAAO,EAAC,aAAa,EAAC,sCAAmC;AAIzD,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAE9C,OAAO,EAAC,sBAAsB,EAAC,4CAAyC;AAExE,wBAAwB;AACxB,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAC5D,OAAO,EAAC,SAAS,EAAC,mCAAgC;AAElD,OAAO,EAAC,SAAS,EAAC,mCAAgC;AAIlD,OAAO,EAAC,QAAQ,EAAC,+BAA4B;AAE7C,OAAO,EAAC,WAAW,EAAC,mCAAgC;AAIpD,OAAO,EAAC,YAAY,EAAC,sCAAmC;AAExD,OAAO,EAAC,YAAY,EAAC,sCAAmC;AAExD,OAAO,EAAC,gBAAgB,EAAC,0CAAuC;AAEhE,OAAO,EAAC,iBAAiB,EAAC,4CAAyC;AAEnE,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAE1D,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAE5D,OAAO,EAAC,qBAAqB,EAAC,gDAA6C;AAE3E,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAE7C,wBAAwB;AACxB,OAAO,EAAC,mBAAmB,EAAC,sCAAmC;AAC/D,OAAO,EAAC,aAAa,EAAE,SAAS,EAAE,eAAe,EAAC,yCAAsC;AAIxF,OAAO,EAAC,kBAAkB,EAAC,yCAAsC;AAEjE,OAAO,EAAC,IAAI,EAAC,0BAAuB;AACpC,OAAO,EAAC,WAAW,EAAC,0BAAuB;AAC3C,OAAO,EAAC,gBAAgB,EAAC,0BAAuB;AAGhD,OAAO,EAAC,WAAW,EAAC,iCAA8B;AAelD,OAAO,EAAC,YAAY,EAAC,yCAAsC;AAE3D,OAAO,EAAC,cAAc,EAAC,6CAA0C;AACjE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,2CAAwC;AACxE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,2CAAwC;AAExE,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC7B,oDAAiD;AAElD,aAAa;AAEb,OAAO,EAAC,oBAAoB,EAAC,oDAAiD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,qBAAqB;AAErB,YAAY;AACZ,OAAO,EAAC,QAAQ,EAAC,gCAA6B;AAC9C,OAAO,EAAC,SAAS,EAAC,kCAA+B;AAGjD,OAAO,EAAC,qBAAqB,EAAC,oDAAiD;AAG/E,OAAO,EAAC,aAAa,EAAC,2CAAwC;AAG9D,OAAO,EAAC,iBAAiB,EAAC,gDAA6C;AAGvE,OAAO,EAAC,KAAK,EAAC,yBAAsB;AAIpC,OAAO,EAAC,eAAe,EAAC,sCAAmC;AAE3D,OAAO,EAAC,gBAAgB,EAAC,uCAAoC;AAE7D,OAAO,EAAC,eAAe,EAAC,wCAAqC;AAC7D,OAAO,EAAC,aAAa,EAAC,sCAAmC;AAIzD,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAE9C,OAAO,EAAC,sBAAsB,EAAC,4CAAyC;AAExE,wBAAwB;AACxB,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAC5D,OAAO,EAAC,SAAS,EAAC,mCAAgC;AAElD,OAAO,EAAC,SAAS,EAAC,mCAAgC;AAIlD,OAAO,EAAC,QAAQ,EAAC,+BAA4B;AAE7C,OAAO,EAAC,WAAW,EAAC,mCAAgC;AAIpD,OAAO,EAAC,YAAY,EAAC,sCAAmC;AAExD,OAAO,EAAC,YAAY,EAAC,sCAAmC;AAExD,OAAO,EAAC,gBAAgB,EAAC,0CAAuC;AAEhE,OAAO,EAAC,iBAAiB,EAAC,4CAAyC;AAEnE,OAAO,EAAC,aAAa,EAAC,uCAAoC;AAE1D,OAAO,EAAC,cAAc,EAAC,wCAAqC;AAE5D,OAAO,EAAC,qBAAqB,EAAC,gDAA6C;AAE3E,OAAO,EAAC,YAAY,EAAC,2BAAwB;AAE7C,wBAAwB;AACxB,OAAO,EAAC,mBAAmB,EAAC,sCAAmC;AAC/D,OAAO,EAAC,aAAa,EAAE,SAAS,EAAE,eAAe,EAAC,yCAAsC;AAIxF,OAAO,EAAC,kBAAkB,EAAC,yCAAsC;AAEjE,OAAO,EAAC,IAAI,EAAC,0BAAuB;AACpC,OAAO,EAAC,WAAW,EAAC,0BAAuB;AAC3C,OAAO,EAAC,gBAAgB,EAAC,0BAAuB;AAGhD,OAAO,EAAC,WAAW,EAAC,iCAA8B;AAclD,OAAO,EAAC,cAAc,EAAC,6CAA0C;AAEjE,OAAO,EAAC,cAAc,EAAC,6CAA0C;AACjE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,2CAAwC;AACxE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,2CAAwC;AAExE,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC7B,oDAAiD;AAElD,aAAa;AAEb,OAAO,EAAC,oBAAoB,EAAC,oDAAiD;AAE9E,OAAO,EAAC,cAAc,EAA2B,6CAA0C;AAC3F,qCAAqC;AACrC,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC"}
@@ -8,7 +8,7 @@ import { GPUGeometry } from "../geometry/gpu-geometry.js";
8
8
  import { PipelineFactory } from "../factories/pipeline-factory.js";
9
9
  import { ShaderFactory } from "../factories/shader-factory.js";
10
10
  import { ShaderInputs } from "../shader-inputs.js";
11
- import { AsyncTexture } from "../async-texture/async-texture.js";
11
+ import { DynamicTexture } from "../dynamic-texture/dynamic-texture.js";
12
12
  export type ModelProps = Omit<RenderPipelineProps, 'vs' | 'fs' | 'bindings'> & {
13
13
  source?: string;
14
14
  vs?: string | null;
@@ -20,7 +20,7 @@ export type ModelProps = Omit<RenderPipelineProps, 'vs' | 'fs' | 'bindings'> & {
20
20
  /** Shader inputs, used to generated uniform buffers and bindings */
21
21
  shaderInputs?: ShaderInputs;
22
22
  /** Bindings */
23
- bindings?: Record<string, Binding | AsyncTexture>;
23
+ bindings?: Record<string, Binding | DynamicTexture>;
24
24
  /** Parameters that are built into the pipeline */
25
25
  parameters?: RenderPipelineParameters;
26
26
  /** Geometry */
@@ -51,22 +51,37 @@ export type ModelProps = Omit<RenderPipelineProps, 'vs' | 'fs' | 'bindings'> & {
51
51
  shaderAssembler?: ShaderAssembler;
52
52
  };
53
53
  /**
54
- * v9 Model API
55
- * A model
56
- * - automatically reuses pipelines (programs) when possible
57
- * - automatically rebuilds pipelines if necessary to accommodate changed settings
58
- * shadertools integration
59
- * - accepts modules and performs shader transpilation
54
+ * High level draw API for luma.gl.
55
+ *
56
+ * A `Model` encapsulates shaders, geometry attributes, bindings and render
57
+ * pipeline state into a single object. It automatically reuses and rebuilds
58
+ * pipelines as render parameters change and exposes convenient hooks for
59
+ * updating uniforms and attributes.
60
+ *
61
+ * Features:
62
+ * - Reuses and lazily recompiles {@link RenderPipeline | pipelines} as needed.
63
+ * - Integrates with `@luma.gl/shadertools` to assemble GLSL or WGSL from shader modules.
64
+ * - Manages geometry attributes and buffer bindings.
65
+ * - Accepts textures, samplers and uniform buffers as bindings, including `AsyncTexture`.
66
+ * - Provides detailed debug logging and optional shader source inspection.
60
67
  */
61
68
  export declare class Model {
62
69
  static defaultProps: Required<ModelProps>;
70
+ /** Device that created this model */
63
71
  readonly device: Device;
72
+ /** Application provided identifier */
64
73
  readonly id: string;
74
+ /** WGSL shader source when using unified shader */
65
75
  readonly source: string;
76
+ /** GLSL vertex shader source */
66
77
  readonly vs: string;
78
+ /** GLSL fragment shader source */
67
79
  readonly fs: string;
80
+ /** Factory used to create render pipelines */
68
81
  readonly pipelineFactory: PipelineFactory;
82
+ /** Factory used to create shaders */
69
83
  readonly shaderFactory: ShaderFactory;
84
+ /** User-supplied per-model data */
70
85
  userData: {
71
86
  [key: string]: any;
72
87
  };
@@ -89,7 +104,7 @@ export declare class Model {
89
104
  /** Constant-valued attributes */
90
105
  constantAttributes: Record<string, TypedArray>;
91
106
  /** Bindings (textures, samplers, uniform buffers) */
92
- bindings: Record<string, Binding | AsyncTexture>;
107
+ bindings: Record<string, Binding | DynamicTexture>;
93
108
  /**
94
109
  * VertexArray
95
110
  * @note not implemented: if bufferLayout is updated, vertex array has to be rebuilt!
@@ -119,7 +134,13 @@ export declare class Model {
119
134
  needsRedraw(): false | string;
120
135
  /** Mark the model as needing a redraw */
121
136
  setNeedsRedraw(reason: string): void;
137
+ /** Update uniforms and pipeline state prior to drawing. */
122
138
  predraw(): void;
139
+ /**
140
+ * Issue one draw call.
141
+ * @param renderPass - render pass to draw into
142
+ * @returns `true` if the draw call was executed, `false` if resources were not ready.
143
+ */
123
144
  draw(renderPass: RenderPass): boolean;
124
145
  /**
125
146
  * Updates the optional geometry
@@ -160,7 +181,7 @@ export declare class Model {
160
181
  /**
161
182
  * Sets bindings (textures, samplers, uniform buffers)
162
183
  */
163
- setBindings(bindings: Record<string, Binding | AsyncTexture>): void;
184
+ setBindings(bindings: Record<string, Binding | DynamicTexture>): void;
164
185
  /**
165
186
  * Updates optional transform feedback. WebGL only.
166
187
  */
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.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 { Buffer, Texture, TextureView, Sampler, RenderPipeline, UniformStore, log, getTypedArrayConstructor, getAttributeInfosFromLayouts } from '@luma.gl/core';
5
- import { ShaderAssembler, getShaderLayoutFromWGSL } from '@luma.gl/shadertools';
5
+ import { ShaderAssembler } from '@luma.gl/shadertools';
6
6
  import { makeGPUGeometry } from "../geometry/gpu-geometry.js";
7
7
  import { PipelineFactory } from "../factories/pipeline-factory.js";
8
8
  import { ShaderFactory } from "../factories/shader-factory.js";
@@ -13,16 +13,23 @@ import { BufferLayoutHelper } from "../utils/buffer-layout-helper.js";
13
13
  import { sortedBufferLayoutByShaderSourceLocations } from "../utils/buffer-layout-order.js";
14
14
  import { uid } from "../utils/uid.js";
15
15
  import { ShaderInputs } from "../shader-inputs.js";
16
- import { AsyncTexture } from "../async-texture/async-texture.js";
16
+ import { DynamicTexture } from "../dynamic-texture/dynamic-texture.js";
17
17
  const LOG_DRAW_PRIORITY = 2;
18
18
  const LOG_DRAW_TIMEOUT = 10000;
19
19
  /**
20
- * v9 Model API
21
- * A model
22
- * - automatically reuses pipelines (programs) when possible
23
- * - automatically rebuilds pipelines if necessary to accommodate changed settings
24
- * shadertools integration
25
- * - accepts modules and performs shader transpilation
20
+ * High level draw API for luma.gl.
21
+ *
22
+ * A `Model` encapsulates shaders, geometry attributes, bindings and render
23
+ * pipeline state into a single object. It automatically reuses and rebuilds
24
+ * pipelines as render parameters change and exposes convenient hooks for
25
+ * updating uniforms and attributes.
26
+ *
27
+ * Features:
28
+ * - Reuses and lazily recompiles {@link RenderPipeline | pipelines} as needed.
29
+ * - Integrates with `@luma.gl/shadertools` to assemble GLSL or WGSL from shader modules.
30
+ * - Manages geometry attributes and buffer bindings.
31
+ * - Accepts textures, samplers and uniform buffers as bindings, including `AsyncTexture`.
32
+ * - Provides detailed debug logging and optional shader source inspection.
26
33
  */
27
34
  export class Model {
28
35
  static defaultProps = {
@@ -51,16 +58,24 @@ export class Model {
51
58
  debugShaders: undefined,
52
59
  disableWarnings: undefined
53
60
  };
61
+ /** Device that created this model */
54
62
  device;
63
+ /** Application provided identifier */
55
64
  id;
65
+ /** WGSL shader source when using unified shader */
56
66
  // @ts-expect-error assigned in function called from constructor
57
67
  source;
68
+ /** GLSL vertex shader source */
58
69
  // @ts-expect-error assigned in function called from constructor
59
70
  vs;
71
+ /** GLSL fragment shader source */
60
72
  // @ts-expect-error assigned in function called from constructor
61
73
  fs;
74
+ /** Factory used to create render pipelines */
62
75
  pipelineFactory;
76
+ /** Factory used to create shaders */
63
77
  shaderFactory;
78
+ /** User-supplied per-model data */
64
79
  userData = {};
65
80
  // Fixed properties (change can trigger pipeline rebuild)
66
81
  /** The render pipeline GPU parameters, depth testing etc */
@@ -146,7 +161,8 @@ export class Model {
146
161
  // @ts-expect-error
147
162
  this._getModuleUniforms = getUniforms;
148
163
  // Extract shader layout after modules have been added to WGSL source, to include any bindings added by modules
149
- this.props.shaderLayout ||= getShaderLayoutFromWGSL(this.source);
164
+ // @ts-expect-error Method on WebGPUDevice
165
+ this.props.shaderLayout ||= device.getShaderLayout(this.source);
150
166
  }
151
167
  else {
152
168
  // GLSL
@@ -208,8 +224,6 @@ export class Model {
208
224
  if (props.transformFeedback) {
209
225
  this.transformFeedback = props.transformFeedback;
210
226
  }
211
- // Catch any access to non-standard props
212
- Object.seal(this);
213
227
  }
214
228
  destroy() {
215
229
  if (!this._destroyed) {
@@ -241,12 +255,18 @@ export class Model {
241
255
  setNeedsRedraw(reason) {
242
256
  this._needsRedraw ||= reason;
243
257
  }
258
+ /** Update uniforms and pipeline state prior to drawing. */
244
259
  predraw() {
245
260
  // Update uniform buffers if needed
246
261
  this.updateShaderInputs();
247
262
  // Check if the pipeline is invalidated
248
263
  this.pipeline = this._updatePipeline();
249
264
  }
265
+ /**
266
+ * Issue one draw call.
267
+ * @param renderPass - render pass to draw into
268
+ * @returns `true` if the draw call was executed, `false` if resources were not ready.
269
+ */
250
270
  draw(renderPass) {
251
271
  const loadingBinding = this._areBindingsLoading();
252
272
  if (loadingBinding) {
@@ -502,7 +522,7 @@ export class Model {
502
522
  /** Check that bindings are loaded. Returns id of first binding that is still loading. */
503
523
  _areBindingsLoading() {
504
524
  for (const binding of Object.values(this.bindings)) {
505
- if (binding instanceof AsyncTexture && !binding.isReady) {
525
+ if (binding instanceof DynamicTexture && !binding.isReady) {
506
526
  return binding.id;
507
527
  }
508
528
  }
@@ -512,7 +532,7 @@ export class Model {
512
532
  _getBindings() {
513
533
  const validBindings = {};
514
534
  for (const [name, binding] of Object.entries(this.bindings)) {
515
- if (binding instanceof AsyncTexture) {
535
+ if (binding instanceof DynamicTexture) {
516
536
  // Check that async textures are loaded
517
537
  if (binding.isReady) {
518
538
  validBindings[name] = binding.texture;
@@ -534,7 +554,7 @@ export class Model {
534
554
  else if (binding instanceof Buffer || binding instanceof Texture) {
535
555
  timestamp = Math.max(timestamp, binding.updateTimestamp);
536
556
  }
537
- else if (binding instanceof AsyncTexture) {
557
+ else if (binding instanceof DynamicTexture) {
538
558
  timestamp = binding.texture
539
559
  ? Math.max(timestamp, binding.texture.updateTimestamp)
540
560
  : // The texture will become available in the future
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { Device, Texture } from '@luma.gl/core';
2
- import { AsyncTexture } from "../async-texture/async-texture.js";
3
- import { ClipSpace } from "./clip-space.js";
2
+ import { DynamicTexture } from "../dynamic-texture/dynamic-texture.js";
3
+ import { ClipSpace, ClipSpaceProps } from "./clip-space.js";
4
4
  /**
5
5
  * Props for a Model that renders a bitmap into the "background", i.e covering the screen
6
6
  */
7
- export type BackgroundTextureModelProps = {
7
+ export type BackgroundTextureModelProps = ClipSpaceProps & {
8
8
  /** id of this model */
9
9
  id?: string;
10
10
  /** The texture to render */
11
- backgroundTexture: Texture | AsyncTexture;
11
+ backgroundTexture: Texture | DynamicTexture;
12
12
  /** If true, the texture is rendered into transparent areas of the screen only, i.e blended in where background alpha is small */
13
13
  blend?: boolean;
14
14
  };
@@ -16,8 +16,11 @@ export type BackgroundTextureModelProps = {
16
16
  * Model that renders a bitmap into the "background", i.e covering the screen
17
17
  */
18
18
  export declare class BackgroundTextureModel extends ClipSpace {
19
+ backgroundTexture: Texture;
19
20
  constructor(device: Device, props: BackgroundTextureModelProps);
20
- setTexture(backgroundTexture: Texture | AsyncTexture): void;
21
+ /** Update the background texture */
22
+ setProps(props: Partial<BackgroundTextureModelProps>): void;
21
23
  predraw(): void;
24
+ updateScale(texture: Texture): void;
22
25
  }
23
26
  //# sourceMappingURL=billboard-texture-model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"billboard-texture-model.d.ts","sourceRoot":"","sources":["../../src/models/billboard-texture-model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,0CAAuC;AAC5D,OAAO,EAAC,SAAS,EAAC,wBAAqB;AAwCvC;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,uBAAuB;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,iBAAiB,EAAE,OAAO,GAAG,YAAY,CAAC;IAC1C,iIAAiI;IACjI,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;gBACvC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B;IA2B9D,UAAU,CAAC,iBAAiB,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI;IAMlD,OAAO,IAAI,IAAI;CAIzB"}
1
+ {"version":3,"file":"billboard-texture-model.d.ts","sourceRoot":"","sources":["../../src/models/billboard-texture-model.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,MAAM,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAE9C,OAAO,EAAC,cAAc,EAAC,8CAA2C;AAClE,OAAO,EAAC,SAAS,EAAE,cAAc,EAAC,wBAAqB;AAsDvD;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,cAAc,GAAG;IACzD,uBAAuB;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,iBAAiB,EAAE,OAAO,GAAG,cAAc,CAAC;IAC5C,iIAAiI;IACjI,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,SAAS;IACnD,iBAAiB,EAAE,OAAO,CAAS;gBAEvB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,2BAA2B;IA4B9D,oCAAoC;IACpC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,2BAA2B,CAAC,GAAG,IAAI;IAqBlD,OAAO,IAAI,IAAI;IAKxB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAwBpC"}
@@ -1,22 +1,32 @@
1
1
  // luma.gl
2
2
  // SPDX-License-Identifier: MIT
3
3
  // Copyright (c) vis.gl contributors
4
+ import { DynamicTexture } from "../dynamic-texture/dynamic-texture.js";
4
5
  import { ClipSpace } from "./clip-space.js";
6
+ const backgroundModule = {
7
+ name: 'background',
8
+ uniformTypes: {
9
+ scale: 'vec2<f32>'
10
+ }
11
+ };
5
12
  const BACKGROUND_FS_WGSL = /* wgsl */ `\
6
13
  @group(0) @binding(0) var backgroundTexture: texture_2d<f32>;
7
14
  @group(0) @binding(1) var backgroundTextureSampler: sampler;
15
+ struct backgroundUniforms {
16
+ scale: vec2<f32>,
17
+ };
18
+ @group(0) @binding(2) var<uniform> background: backgroundUniforms;
8
19
 
9
20
  fn billboardTexture_getTextureUV(coordinates: vec2<f32>) -> vec2<f32> {
10
- let iTexSize: vec2<u32> = textureDimensions(backgroundTexture, 0);
11
- let texSize: vec2<f32> = vec2<f32>(f32(iTexSize.x), f32(iTexSize.y));
12
- var position: vec2<f32> = coordinates.xy / texSize;
13
- return position;
14
- }
21
+ let scale: vec2<f32> = background.scale;
22
+ var position: vec2<f32> = (coordinates - vec2<f32>(0.5, 0.5)) / scale + vec2<f32>(0.5, 0.5);
23
+ return position;
24
+ }
15
25
 
16
26
  @fragment
17
27
  fn fragmentMain(inputs: FragmentInputs) -> @location(0) vec4<f32> {
18
- let position: vec2<f32> = billboardTexture_getTextureUV(inputs.coordinate);
19
- return textureSample(backgroundTexture, backgroundTextureSampler, position);
28
+ let position: vec2<f32> = billboardTexture_getTextureUV(inputs.coordinate);
29
+ return textureSample(backgroundTexture, backgroundTextureSampler, position);
20
30
  }
21
31
  `;
22
32
  const BACKGROUND_FS = /* glsl */ `\
@@ -24,17 +34,21 @@ const BACKGROUND_FS = /* glsl */ `\
24
34
  precision highp float;
25
35
 
26
36
  uniform sampler2D backgroundTexture;
37
+
38
+ uniform backgroundUniforms {
39
+ vec2 scale;
40
+ } background;
41
+
42
+ in vec2 coordinate;
27
43
  out vec4 fragColor;
28
44
 
29
- vec2 billboardTexture_getTextureUV() {
30
- ivec2 iTexSize = textureSize(backgroundTexture, 0);
31
- vec2 texSize = vec2(float(iTexSize.x), float(iTexSize.y));
32
- vec2 position = gl_FragCoord.xy / texSize;
45
+ vec2 billboardTexture_getTextureUV(vec2 coord) {
46
+ vec2 position = (coord - 0.5) / background.scale + 0.5;
33
47
  return position;
34
48
  }
35
49
 
36
50
  void main(void) {
37
- vec2 position = billboardTexture_getTextureUV();
51
+ vec2 position = billboardTexture_getTextureUV(coordinate);
38
52
  fragColor = texture(backgroundTexture, position);
39
53
  }
40
54
  `;
@@ -42,11 +56,13 @@ void main(void) {
42
56
  * Model that renders a bitmap into the "background", i.e covering the screen
43
57
  */
44
58
  export class BackgroundTextureModel extends ClipSpace {
59
+ backgroundTexture = null;
45
60
  constructor(device, props) {
46
61
  super(device, {
47
62
  id: props.id || 'background-texture-model',
48
63
  source: BACKGROUND_FS_WGSL,
49
64
  fs: BACKGROUND_FS,
65
+ modules: [backgroundModule],
50
66
  parameters: {
51
67
  depthWriteEnabled: false,
52
68
  ...(props.blend
@@ -65,16 +81,52 @@ export class BackgroundTextureModel extends ClipSpace {
65
81
  if (!props.backgroundTexture) {
66
82
  throw new Error('BackgroundTextureModel requires a backgroundTexture prop');
67
83
  }
68
- this.setTexture(props.backgroundTexture);
84
+ this.setProps(props);
69
85
  }
70
- setTexture(backgroundTexture) {
71
- this.setBindings({
72
- backgroundTexture
73
- });
86
+ /** Update the background texture */
87
+ setProps(props) {
88
+ const { backgroundTexture } = props;
89
+ if (backgroundTexture) {
90
+ this.setBindings({ backgroundTexture });
91
+ if (backgroundTexture.isReady) {
92
+ const texture = backgroundTexture instanceof DynamicTexture
93
+ ? backgroundTexture.texture
94
+ : backgroundTexture;
95
+ this.backgroundTexture = texture;
96
+ this.updateScale(texture);
97
+ }
98
+ else {
99
+ backgroundTexture.ready.then(texture => {
100
+ this.backgroundTexture = texture;
101
+ this.updateScale(texture);
102
+ });
103
+ }
104
+ }
74
105
  }
75
106
  predraw() {
76
- this.shaderInputs.setProps({});
107
+ // this.updateScale(this.backgroundTexture);
77
108
  super.predraw();
78
109
  }
110
+ updateScale(texture) {
111
+ if (!texture) {
112
+ // Initial scale to avoid rendering issues before texture is loaded
113
+ this.shaderInputs.setProps({ background: { scale: [1, 1] } });
114
+ return;
115
+ }
116
+ const [screenWidth, screenHeight] = this.device.getCanvasContext().getDrawingBufferSize();
117
+ const textureWidth = texture.width;
118
+ const textureHeight = texture.height;
119
+ const screenAspect = screenWidth / screenHeight;
120
+ const textureAspect = textureWidth / textureHeight;
121
+ let scaleX = 1;
122
+ let scaleY = 1;
123
+ if (screenAspect > textureAspect) {
124
+ scaleY = screenAspect / textureAspect;
125
+ }
126
+ else {
127
+ scaleX = textureAspect / screenAspect;
128
+ }
129
+ this.shaderInputs.setProps({ background: { scale: [scaleX, scaleY] } });
130
+ }
79
131
  }
80
132
  //# sourceMappingURL=billboard-texture-model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"billboard-texture-model.js","sourceRoot":"","sources":["../../src/models/billboard-texture-model.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,SAAS,EAAC,wBAAqB;AAEvC,MAAM,kBAAkB,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;CAgBrC,CAAC;AAEF,MAAM,aAAa,GAAG,UAAU,CAAC;;;;;;;;;;;;;;;;;;CAkBhC,CAAC;AAcF;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IACnD,YAAY,MAAc,EAAE,KAAkC;QAC5D,KAAK,CAAC,MAAM,EAAE;YACZ,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,0BAA0B;YAC1C,MAAM,EAAE,kBAAkB;YAC1B,EAAE,EAAE,aAAa;YACjB,UAAU,EAAE;gBACV,iBAAiB,EAAE,KAAK;gBACxB,GAAG,CAAC,KAAK,CAAC,KAAK;oBACb,CAAC,CAAC;wBACE,KAAK,EAAE,IAAI;wBACX,mBAAmB,EAAE,KAAK;wBAC1B,mBAAmB,EAAE,KAAK;wBAC1B,mBAAmB,EAAE,KAAK;wBAC1B,mBAAmB,EAAE,eAAe;wBACpC,mBAAmB,EAAE,KAAK;wBAC1B,mBAAmB,EAAE,qBAAqB;qBAC3C;oBACH,CAAC,CAAC,EAAE,CAAC;aACR;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC;IAED,UAAU,CAAC,iBAAyC;QAClD,IAAI,CAAC,WAAW,CAAC;YACf,iBAAiB;SAClB,CAAC,CAAC;IACL,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/B,KAAK,CAAC,OAAO,EAAE,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"billboard-texture-model.js","sourceRoot":"","sources":["../../src/models/billboard-texture-model.ts"],"names":[],"mappings":"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"}