@luma.gl/engine 9.0.0-alpha.9 → 9.0.0-beta.10

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 (187) hide show
  1. package/LICENSE +3 -1
  2. package/dist/animation/key-frames.d.ts +1 -1
  3. package/dist/animation/key-frames.d.ts.map +1 -1
  4. package/dist/animation/key-frames.js +51 -72
  5. package/dist/animation/timeline.d.ts +8 -8
  6. package/dist/animation/timeline.d.ts.map +1 -1
  7. package/dist/animation/timeline.js +95 -131
  8. package/dist/animation-loop/animation-loop-template.d.ts +23 -0
  9. package/dist/animation-loop/animation-loop-template.d.ts.map +1 -0
  10. package/dist/animation-loop/animation-loop-template.js +21 -0
  11. package/dist/{lib → animation-loop}/animation-loop.d.ts +31 -23
  12. package/dist/animation-loop/animation-loop.d.ts.map +1 -0
  13. package/dist/animation-loop/animation-loop.js +442 -0
  14. package/dist/{lib → animation-loop}/animation-props.d.ts +4 -5
  15. package/dist/animation-loop/animation-props.d.ts.map +1 -0
  16. package/dist/animation-loop/animation-props.js +1 -0
  17. package/dist/animation-loop/make-animation-loop.d.ts +6 -0
  18. package/dist/animation-loop/make-animation-loop.d.ts.map +1 -0
  19. package/dist/animation-loop/make-animation-loop.js +32 -0
  20. package/dist/computation.d.ts +95 -0
  21. package/dist/computation.d.ts.map +1 -0
  22. package/dist/computation.js +248 -0
  23. package/dist/debug/copy-texture-to-image.d.ts +26 -0
  24. package/dist/debug/copy-texture-to-image.d.ts.map +1 -0
  25. package/dist/debug/copy-texture-to-image.js +43 -0
  26. package/dist/debug/debug-framebuffer.d.ts +11 -0
  27. package/dist/debug/debug-framebuffer.d.ts.map +1 -0
  28. package/dist/debug/debug-framebuffer.js +46 -0
  29. package/dist/debug/debug-shader-layout.d.ts +9 -0
  30. package/dist/debug/debug-shader-layout.d.ts.map +1 -0
  31. package/dist/debug/debug-shader-layout.js +27 -0
  32. package/dist/debug/pixel-data-utils.d.ts +24 -0
  33. package/dist/debug/pixel-data-utils.d.ts.map +1 -0
  34. package/dist/debug/pixel-data-utils.js +39 -0
  35. package/dist/dist.dev.js +9592 -0
  36. package/dist/dist.min.js +102 -0
  37. package/dist/geometries/cone-geometry.d.ts +2 -2
  38. package/dist/geometries/cone-geometry.d.ts.map +1 -1
  39. package/dist/geometries/cone-geometry.js +13 -18
  40. package/dist/geometries/cube-geometry.d.ts +2 -2
  41. package/dist/geometries/cube-geometry.d.ts.map +1 -1
  42. package/dist/geometries/cube-geometry.js +192 -57
  43. package/dist/geometries/cylinder-geometry.d.ts +2 -2
  44. package/dist/geometries/cylinder-geometry.d.ts.map +1 -1
  45. package/dist/geometries/cylinder-geometry.js +11 -15
  46. package/dist/geometries/ico-sphere-geometry.d.ts +2 -2
  47. package/dist/geometries/ico-sphere-geometry.d.ts.map +1 -1
  48. package/dist/geometries/ico-sphere-geometry.js +143 -171
  49. package/dist/geometries/plane-geometry.d.ts +2 -2
  50. package/dist/geometries/plane-geometry.d.ts.map +1 -1
  51. package/dist/geometries/plane-geometry.js +95 -122
  52. package/dist/geometries/sphere-geometry.d.ts +2 -2
  53. package/dist/geometries/sphere-geometry.d.ts.map +1 -1
  54. package/dist/geometries/sphere-geometry.js +78 -101
  55. package/dist/geometries/truncated-cone-geometry.d.ts +2 -4
  56. package/dist/geometries/truncated-cone-geometry.d.ts.map +1 -1
  57. package/dist/geometries/truncated-cone-geometry.js +100 -134
  58. package/dist/geometry/geometry-table.d.ts +2 -2
  59. package/dist/geometry/geometry-table.d.ts.map +1 -1
  60. package/dist/geometry/geometry-table.js +3 -1
  61. package/dist/geometry/geometry-utils.d.ts.map +1 -1
  62. package/dist/geometry/geometry-utils.js +35 -41
  63. package/dist/geometry/geometry.d.ts +43 -43
  64. package/dist/geometry/geometry.d.ts.map +1 -1
  65. package/dist/geometry/geometry.js +82 -139
  66. package/dist/geometry/gpu-geometry.d.ts +37 -0
  67. package/dist/geometry/gpu-geometry.d.ts.map +1 -0
  68. package/dist/geometry/gpu-geometry.js +90 -0
  69. package/dist/geometry/gpu-table.d.ts +1 -0
  70. package/dist/geometry/gpu-table.d.ts.map +1 -0
  71. package/dist/geometry/gpu-table.js +42 -0
  72. package/dist/index.cjs +3444 -0
  73. package/dist/index.cjs.map +7 -0
  74. package/dist/index.d.ts +43 -24
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +29 -15
  77. package/dist/lib/clip-space.d.ts +8 -0
  78. package/dist/lib/clip-space.d.ts.map +1 -1
  79. package/dist/lib/clip-space.js +43 -2
  80. package/dist/lib/pipeline-factory.d.ts +17 -51
  81. package/dist/lib/pipeline-factory.d.ts.map +1 -1
  82. package/dist/lib/pipeline-factory.js +84 -209
  83. package/dist/lib/shader-factory.d.ts +17 -0
  84. package/dist/lib/shader-factory.d.ts.map +1 -0
  85. package/dist/lib/shader-factory.js +46 -0
  86. package/dist/model/model.d.ts +219 -0
  87. package/dist/model/model.d.ts.map +1 -0
  88. package/dist/model/model.js +659 -0
  89. package/dist/scenegraph/group-node.d.ts +21 -0
  90. package/dist/scenegraph/group-node.d.ts.map +1 -0
  91. package/dist/scenegraph/group-node.js +84 -0
  92. package/dist/scenegraph/model-node.d.ts +18 -0
  93. package/dist/scenegraph/model-node.d.ts.map +1 -0
  94. package/dist/scenegraph/model-node.js +35 -0
  95. package/dist/scenegraph/scenegraph-node.d.ts +56 -0
  96. package/dist/scenegraph/scenegraph-node.d.ts.map +1 -0
  97. package/dist/scenegraph/scenegraph-node.js +153 -0
  98. package/dist/shader-inputs.d.ts +63 -0
  99. package/dist/shader-inputs.d.ts.map +1 -0
  100. package/dist/shader-inputs.js +107 -0
  101. package/dist/transform/buffer-transform.d.ts +35 -0
  102. package/dist/transform/buffer-transform.d.ts.map +1 -0
  103. package/dist/transform/buffer-transform.js +70 -0
  104. package/dist/transform/texture-transform.d.ts +57 -0
  105. package/dist/transform/texture-transform.d.ts.map +1 -0
  106. package/dist/transform/texture-transform.js +117 -0
  107. package/dist.min.js +25 -0
  108. package/package.json +24 -14
  109. package/src/animation/timeline.ts +35 -34
  110. package/src/animation-loop/animation-loop-template.ts +25 -0
  111. package/src/{lib → animation-loop}/animation-loop.ts +114 -93
  112. package/src/{lib → animation-loop}/animation-props.ts +2 -2
  113. package/src/animation-loop/make-animation-loop.ts +53 -0
  114. package/src/computation.ts +346 -0
  115. package/src/debug/copy-texture-to-image.ts +70 -0
  116. package/src/debug/debug-framebuffer.ts +70 -0
  117. package/src/debug/debug-shader-layout.ts +38 -0
  118. package/src/debug/pixel-data-utils.ts +54 -0
  119. package/src/geometries/cone-geometry.ts +1 -1
  120. package/src/geometries/cube-geometry.ts +62 -56
  121. package/src/geometries/cylinder-geometry.ts +2 -2
  122. package/src/geometries/ico-sphere-geometry.ts +6 -5
  123. package/src/geometries/plane-geometry.ts +5 -4
  124. package/src/geometries/sphere-geometry.ts +4 -3
  125. package/src/geometries/truncated-cone-geometry.ts +6 -14
  126. package/src/geometry/geometry-table.ts +10 -7
  127. package/src/geometry/geometry-utils.ts +19 -3
  128. package/src/geometry/geometry.ts +68 -110
  129. package/src/geometry/gpu-geometry.ts +132 -0
  130. package/src/geometry/gpu-table.ts +41 -0
  131. package/src/index.ts +37 -10
  132. package/src/lib/clip-space.ts +32 -34
  133. package/src/lib/pipeline-factory.ts +83 -193
  134. package/src/lib/shader-factory.ts +57 -0
  135. package/src/model/model.ts +835 -0
  136. package/src/scenegraph/group-node.ts +107 -0
  137. package/src/scenegraph/model-node.ts +50 -0
  138. package/src/scenegraph/scenegraph-node.ts +204 -0
  139. package/src/shader-inputs.ts +157 -0
  140. package/src/transform/buffer-transform.ts +102 -0
  141. package/src/transform/texture-transform.ts +168 -0
  142. package/dist/animation/key-frames.js.map +0 -1
  143. package/dist/animation/timeline.js.map +0 -1
  144. package/dist/bundle.d.ts +0 -2
  145. package/dist/bundle.d.ts.map +0 -1
  146. package/dist/bundle.js +0 -5
  147. package/dist/bundle.js.map +0 -1
  148. package/dist/geometries/cone-geometry.js.map +0 -1
  149. package/dist/geometries/cube-geometry.js.map +0 -1
  150. package/dist/geometries/cylinder-geometry.js.map +0 -1
  151. package/dist/geometries/ico-sphere-geometry.js.map +0 -1
  152. package/dist/geometries/plane-geometry.js.map +0 -1
  153. package/dist/geometries/sphere-geometry.js.map +0 -1
  154. package/dist/geometries/truncated-cone-geometry.js.map +0 -1
  155. package/dist/geometry/geometry-table.js.map +0 -1
  156. package/dist/geometry/geometry-utils.js.map +0 -1
  157. package/dist/geometry/geometry.js.map +0 -1
  158. package/dist/geometry/primitive-utils.d.ts +0 -1
  159. package/dist/geometry/primitive-utils.d.ts.map +0 -1
  160. package/dist/geometry/primitive-utils.js +0 -2
  161. package/dist/geometry/primitive-utils.js.map +0 -1
  162. package/dist/index.js.map +0 -1
  163. package/dist/lib/animation-loop.d.ts.map +0 -1
  164. package/dist/lib/animation-loop.js +0 -480
  165. package/dist/lib/animation-loop.js.map +0 -1
  166. package/dist/lib/animation-props.d.ts.map +0 -1
  167. package/dist/lib/animation-props.js +0 -2
  168. package/dist/lib/animation-props.js.map +0 -1
  169. package/dist/lib/clip-space.js.map +0 -1
  170. package/dist/lib/model-utils.d.ts +0 -5
  171. package/dist/lib/model-utils.d.ts.map +0 -1
  172. package/dist/lib/model-utils.js +0 -45
  173. package/dist/lib/model-utils.js.map +0 -1
  174. package/dist/lib/model.d.ts +0 -41
  175. package/dist/lib/model.d.ts.map +0 -1
  176. package/dist/lib/model.js +0 -182
  177. package/dist/lib/model.js.map +0 -1
  178. package/dist/lib/pipeline-factory.js.map +0 -1
  179. package/dist/lib/render-loop.d.ts +0 -14
  180. package/dist/lib/render-loop.d.ts.map +0 -1
  181. package/dist/lib/render-loop.js +0 -49
  182. package/dist/lib/render-loop.js.map +0 -1
  183. package/src/bundle.ts +0 -4
  184. package/src/geometry/primitive-utils.ts +0 -30
  185. package/src/lib/model-utils.ts +0 -124
  186. package/src/lib/model.ts +0 -183
  187. package/src/lib/render-loop.ts +0 -58
@@ -0,0 +1,219 @@
1
+ import type { TypedArray, RenderPipelineProps, RenderPipelineParameters } from '@luma.gl/core';
2
+ import type { BufferLayout, VertexArray, TransformFeedback } from '@luma.gl/core';
3
+ import type { AttributeInfo, Binding, UniformValue, PrimitiveTopology } from '@luma.gl/core';
4
+ import { Device, Buffer } from '@luma.gl/core';
5
+ import { RenderPipeline, RenderPass, UniformStore } from '@luma.gl/core';
6
+ import type { ShaderModule, PlatformInfo } from '@luma.gl/shadertools';
7
+ import { ShaderAssembler } from '@luma.gl/shadertools';
8
+ import type { Geometry } from "../geometry/geometry.js";
9
+ import { GPUGeometry } from "../geometry/gpu-geometry.js";
10
+ import { ShaderInputs } from "../shader-inputs.js";
11
+ import { PipelineFactory } from "../lib/pipeline-factory.js";
12
+ import { ShaderFactory } from "../lib/shader-factory.js";
13
+ export type ModelProps = Omit<RenderPipelineProps, 'vs' | 'fs'> & {
14
+ source?: string;
15
+ vs: string | null;
16
+ fs: string | null;
17
+ /** shadertool shader modules (added to shader code) */
18
+ modules?: ShaderModule[];
19
+ /** Shadertool module defines (configures shader code)*/
20
+ defines?: Record<string, string | number | boolean>;
21
+ /** Shader inputs, used to generated uniform buffers and bindings */
22
+ shaderInputs?: ShaderInputs;
23
+ /** Parameters that are built into the pipeline */
24
+ parameters?: RenderPipelineParameters;
25
+ /** Geometry */
26
+ geometry?: GPUGeometry | Geometry | null;
27
+ /** Vertex count */
28
+ vertexCount?: number;
29
+ /** instance count */
30
+ instanceCount?: number;
31
+ indexBuffer?: Buffer | null;
32
+ /** @note this is really a map of buffers, not a map of attributes */
33
+ attributes?: Record<string, Buffer>;
34
+ /** */
35
+ constantAttributes?: Record<string, TypedArray>;
36
+ /** Some applications intentionally supply unused attributes */
37
+ ignoreUnknownAttributes?: boolean;
38
+ /** @internal For use with {@link TransformFeedback}, WebGL only. */
39
+ varyings?: string[];
40
+ transformFeedback?: TransformFeedback;
41
+ /** Mapped uniforms for shadertool modules */
42
+ moduleSettings?: Record<string, Record<string, any>>;
43
+ /** Show shader source in browser? */
44
+ debugShaders?: 'never' | 'errors' | 'warnings' | 'always';
45
+ /** Factory used to create a {@link RenderPipeline}. Defaults to {@link Device} default factory. */
46
+ pipelineFactory?: PipelineFactory;
47
+ /** Factory used to create a {@link Shader}. Defaults to {@link Device} default factory. */
48
+ shaderFactory?: ShaderFactory;
49
+ /** Shader assembler. Defaults to the ShaderAssembler.getShaderAssembler() */
50
+ shaderAssembler?: ShaderAssembler;
51
+ };
52
+ /**
53
+ * v9 Model API
54
+ * A model
55
+ * - automatically reuses pipelines (programs) when possible
56
+ * - automatically rebuilds pipelines if necessary to accommodate changed settings
57
+ * shadertools integration
58
+ * - accepts modules and performs shader transpilation
59
+ */
60
+ export declare class Model {
61
+ static defaultProps: Required<ModelProps>;
62
+ readonly device: Device;
63
+ readonly id: string;
64
+ readonly source: string;
65
+ readonly vs: string;
66
+ readonly fs: string;
67
+ readonly pipelineFactory: PipelineFactory;
68
+ readonly shaderFactory: ShaderFactory;
69
+ userData: {
70
+ [key: string]: any;
71
+ };
72
+ /** The render pipeline GPU parameters, depth testing etc */
73
+ parameters: RenderPipelineParameters;
74
+ /** The primitive topology */
75
+ topology: PrimitiveTopology;
76
+ /** Buffer layout */
77
+ bufferLayout: BufferLayout[];
78
+ /** Vertex count */
79
+ vertexCount: number;
80
+ /** instance count */
81
+ instanceCount: number;
82
+ /** Index buffer */
83
+ indexBuffer: Buffer | null;
84
+ /** Buffer-valued attributes */
85
+ bufferAttributes: Record<string, Buffer>;
86
+ /** Constant-valued attributes */
87
+ constantAttributes: Record<string, TypedArray>;
88
+ /** Bindings (textures, samplers, uniform buffers) */
89
+ bindings: Record<string, Binding>;
90
+ /** Sets uniforms @deprecated Use uniform buffers and setBindings() for portability*/
91
+ uniforms: Record<string, UniformValue>;
92
+ /**
93
+ * VertexArray
94
+ * @note not implemented: if bufferLayout is updated, vertex array has to be rebuilt!
95
+ * @todo - allow application to define multiple vertex arrays?
96
+ * */
97
+ vertexArray: VertexArray;
98
+ /** TransformFeedback, WebGL 2 only. */
99
+ transformFeedback: TransformFeedback | null;
100
+ /** The underlying GPU "program". @note May be recreated if parameters change */
101
+ pipeline: RenderPipeline;
102
+ /** ShaderInputs instance */
103
+ shaderInputs: ShaderInputs;
104
+ _uniformStore: UniformStore;
105
+ _attributeInfos: Record<string, AttributeInfo>;
106
+ _gpuGeometry: GPUGeometry | null;
107
+ private _getModuleUniforms;
108
+ private props;
109
+ _pipelineNeedsUpdate: string | false;
110
+ private _needsRedraw;
111
+ private _destroyed;
112
+ /** "Time" of last draw. Monotonically increasing timestamp */
113
+ _lastDrawTimestamp: number;
114
+ constructor(device: Device, props: ModelProps);
115
+ destroy(): void;
116
+ /** Query redraw status. Clears the status. */
117
+ needsRedraw(): false | string;
118
+ /** Mark the model as needing a redraw */
119
+ setNeedsRedraw(reason: string): void;
120
+ predraw(): void;
121
+ draw(renderPass: RenderPass): boolean;
122
+ /**
123
+ * Updates the optional geometry
124
+ * Geometry, set topology and bufferLayout
125
+ * @note Can trigger a pipeline rebuild / pipeline cache fetch on WebGPU
126
+ */
127
+ setGeometry(geometry: GPUGeometry | Geometry | null): void;
128
+ /**
129
+ * Updates the primitive topology ('triangle-list', 'triangle-strip' etc).
130
+ * @note Triggers a pipeline rebuild / pipeline cache fetch on WebGPU
131
+ */
132
+ setTopology(topology: PrimitiveTopology): void;
133
+ /**
134
+ * Updates the buffer layout.
135
+ * @note Triggers a pipeline rebuild / pipeline cache fetch
136
+ */
137
+ setBufferLayout(bufferLayout: BufferLayout[]): void;
138
+ /**
139
+ * Set GPU parameters.
140
+ * @note Can trigger a pipeline rebuild / pipeline cache fetch.
141
+ * @param parameters
142
+ */
143
+ setParameters(parameters: RenderPipelineParameters): void;
144
+ /**
145
+ * Updates the vertex count (used in draw calls)
146
+ * @note Any attributes with stepMode=vertex need to be at least this big
147
+ */
148
+ setVertexCount(vertexCount: number): void;
149
+ /**
150
+ * Updates the instance count (used in draw calls)
151
+ * @note Any attributes with stepMode=instance need to be at least this big
152
+ */
153
+ setInstanceCount(instanceCount: number): void;
154
+ setShaderInputs(shaderInputs: ShaderInputs): void;
155
+ updateShaderInputs(): void;
156
+ /**
157
+ * Sets bindings (textures, samplers, uniform buffers)
158
+ */
159
+ setBindings(bindings: Record<string, Binding>): void;
160
+ /**
161
+ * Updates optional transform feedback. WebGL only.
162
+ */
163
+ setTransformFeedback(transformFeedback: TransformFeedback | null): void;
164
+ /**
165
+ * Sets the index buffer
166
+ * @todo - how to unset it if we change geometry?
167
+ */
168
+ setIndexBuffer(indexBuffer: Buffer | null): void;
169
+ /**
170
+ * Sets attributes (buffers)
171
+ * @note Overrides any attributes previously set with the same name
172
+ */
173
+ setAttributes(buffers: Record<string, Buffer>, options?: {
174
+ ignoreUnknownAttributes?: boolean;
175
+ }): void;
176
+ /**
177
+ * Sets constant attributes
178
+ * @note Overrides any attributes previously set with the same name
179
+ * Constant attributes are only supported in WebGL, not in WebGPU
180
+ * Any attribute that is disabled in the current vertex array object
181
+ * is read from the context's global constant value for that attribute location.
182
+ * @param constantAttributes
183
+ */
184
+ setConstantAttributes(attributes: Record<string, TypedArray>): void;
185
+ /**
186
+ * Sets individual uniforms
187
+ * @deprecated WebGL only, use uniform buffers for portability
188
+ * @param uniforms
189
+ */
190
+ setUniforms(uniforms: Record<string, UniformValue>): void;
191
+ /**
192
+ * @deprecated Updates shader module settings (which results in uniforms being set)
193
+ */
194
+ updateModuleSettings(props: Record<string, any>): void;
195
+ /** Get the timestamp of the latest updated bound GPU memory resource (buffer/texture). */
196
+ _getBindingsUpdateTimestamp(): number;
197
+ /**
198
+ * Updates the optional geometry attributes
199
+ * Geometry, sets several attributes, indexBuffer, and also vertex count
200
+ * @note Can trigger a pipeline rebuild / pipeline cache fetch on WebGPU
201
+ */
202
+ _setGeometryAttributes(gpuGeometry: GPUGeometry): void;
203
+ /** Mark pipeline as needing update */
204
+ _setPipelineNeedsUpdate(reason: string): void;
205
+ /** Update pipeline if needed */
206
+ _updatePipeline(): RenderPipeline;
207
+ /** Throttle draw call logging */
208
+ _lastLogTime: number;
209
+ _logOpen: boolean;
210
+ _logDrawCallStart(): void;
211
+ _logDrawCallEnd(): void;
212
+ protected _drawCount: number;
213
+ _logFramebuffer(renderPass: RenderPass): void;
214
+ _getAttributeDebugTable(): Record<string, Record<string, unknown>>;
215
+ _getBufferOrConstantValues(attribute: Buffer | TypedArray, dataType: any): string;
216
+ }
217
+ /** Create a shadertools platform info from the Device */
218
+ export declare function getPlatformInfo(device: Device): PlatformInfo;
219
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"}