@woosh/meep-engine 3.0.0 → 3.0.1

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 (122) hide show
  1. package/editor/particles/rebuildParticleEmitter.js +8 -26
  2. package/editor/process/symbolic/CameraSymbolicDisplay.js +146 -146
  3. package/editor/tools/SelectionTool.js +1 -2
  4. package/editor/tools/TransformToolV2.js +2 -3
  5. package/editor/tools/v2/BlenderCameraOrientationGizmo.js +501 -501
  6. package/editor/tools/v2/TransformControls.js +1 -1
  7. package/package.json +95 -96
  8. package/src/core/geom/3d/mat4/m4_look_at.d.ts +25 -0
  9. package/src/core/geom/3d/mat4/m4_look_at.d.ts.map +1 -0
  10. package/src/core/geom/3d/mat4/m4_look_at.js +96 -0
  11. package/src/core/geom/3d/mat4/m4_make_rotation_x.d.ts +18 -0
  12. package/src/core/geom/3d/mat4/m4_make_rotation_x.d.ts.map +1 -0
  13. package/src/core/geom/3d/mat4/m4_make_rotation_x.js +47 -0
  14. package/src/core/geom/3d/mat4/m4_make_rotation_y.d.ts +18 -0
  15. package/src/core/geom/3d/mat4/m4_make_rotation_y.d.ts.map +1 -0
  16. package/src/core/geom/3d/mat4/m4_make_rotation_y.js +47 -0
  17. package/src/core/geom/3d/mat4/m4_make_rotation_z.d.ts +18 -0
  18. package/src/core/geom/3d/mat4/m4_make_rotation_z.d.ts.map +1 -0
  19. package/src/core/geom/3d/mat4/m4_make_rotation_z.js +47 -0
  20. package/src/core/geom/3d/mat4/m4_perspective.d.ts +25 -0
  21. package/src/core/geom/3d/mat4/m4_perspective.d.ts.map +1 -0
  22. package/src/core/geom/3d/mat4/m4_perspective.js +66 -0
  23. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
  24. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.js +2045 -2052
  25. package/src/engine/ecs/gui/hud/testHudEdgeStick.js +2 -2
  26. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
  27. package/src/engine/ecs/terrain/ecs/TerrainSystem.js +14 -27
  28. package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.d.ts.map +1 -1
  29. package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.js +129 -126
  30. package/src/engine/graphics/ecs/camera/Camera.d.ts +36 -48
  31. package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
  32. package/src/engine/graphics/ecs/camera/Camera.js +165 -303
  33. package/src/engine/graphics/ecs/camera/camera_active_frustum.d.ts +14 -0
  34. package/src/engine/graphics/ecs/camera/camera_active_frustum.d.ts.map +1 -0
  35. package/src/engine/graphics/ecs/camera/camera_active_frustum.js +25 -0
  36. package/src/engine/graphics/ecs/camera/camera_find_active.d.ts +16 -0
  37. package/src/engine/graphics/ecs/camera/camera_find_active.d.ts.map +1 -0
  38. package/src/engine/graphics/ecs/camera/camera_find_active.js +28 -0
  39. package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts +12 -0
  40. package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts.map +1 -0
  41. package/src/engine/graphics/ecs/camera/camera_traverse_active.js +18 -0
  42. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.js +170 -170
  43. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts +5 -1
  44. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
  45. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +296 -281
  46. package/src/engine/graphics/ecs/render_layers_compute_depth_range.d.ts +1 -1
  47. package/src/engine/graphics/ecs/render_layers_compute_depth_range.js +1 -1
  48. package/src/engine/graphics/geometry/AttributeData.d.ts +52 -0
  49. package/src/engine/graphics/geometry/AttributeData.d.ts.map +1 -0
  50. package/src/engine/graphics/geometry/AttributeData.js +84 -0
  51. package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts +1 -14
  52. package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts.map +1 -1
  53. package/src/engine/graphics/particles/particular/engine/ParticularEngine.js +229 -253
  54. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +25 -12
  55. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  56. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1149 -1194
  57. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts +4 -8
  58. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts.map +1 -1
  59. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +472 -540
  60. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts +19 -90
  61. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts.map +1 -1
  62. package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.js +135 -514
  63. package/src/engine/graphics3/CameraSystem3.d.ts.map +1 -1
  64. package/src/engine/graphics3/CameraSystem3.js +10 -1
  65. package/src/engine/graphics3/GraphicsEngine3.d.ts +3 -3
  66. package/src/engine/graphics3/GraphicsEngine3.js +3 -3
  67. package/src/engine/graphics3/ParticleEmitterSystem3.d.ts +11 -0
  68. package/src/engine/graphics3/ParticleEmitterSystem3.d.ts.map +1 -1
  69. package/src/engine/graphics3/ParticleEmitterSystem3.js +289 -265
  70. package/src/engine/graphics3/ShadeCameraAdapter.d.ts +3 -3
  71. package/src/engine/graphics3/ShadeCameraAdapter.js +3 -3
  72. package/src/engine/graphics3/camera_sync_from_transform.d.ts +2 -2
  73. package/src/engine/graphics3/camera_sync_from_transform.js +2 -2
  74. package/src/engine/graphics3/shade_camera_projection_ray.js +2 -2
  75. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  76. package/src/shade/renderer/camera/Camera.d.ts +3 -5
  77. package/src/shade/renderer/camera/Camera.d.ts.map +1 -1
  78. package/src/shade/renderer/camera/Camera.js +281 -280
  79. package/src/shade/renderer/camera/GPUCameraContext.js +233 -233
  80. package/src/shade/renderer/loader/usd/parse_usda.js +1 -1
  81. package/src/shade/renderer/loader/usd/usd_build_scene.d.ts.map +1 -1
  82. package/src/shade/renderer/loader/usd/usd_build_scene.js +658 -652
  83. package/src/shade/renderer/loader/usd/usd_compose_transform.d.ts.map +1 -1
  84. package/src/shade/renderer/loader/usd/usd_compose_transform.js +58 -23
  85. package/src/shade/renderer/particles/prototypeParticleSystem.js +450 -443
  86. package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.d.ts.map +1 -1
  87. package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.js +7 -3
  88. package/src/view/minimap/dom/MinimapCameraView.d.ts +2 -2
  89. package/src/view/minimap/dom/MinimapCameraView.js +206 -206
  90. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts +0 -74
  91. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts.map +0 -1
  92. package/src/engine/graphics/ecs/camera/CameraSystem.js +0 -331
  93. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.d.ts +0 -10
  94. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.d.ts.map +0 -1
  95. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.js +0 -105
  96. package/src/engine/graphics/ecs/camera/build_three_camera_object.d.ts +0 -7
  97. package/src/engine/graphics/ecs/camera/build_three_camera_object.d.ts.map +0 -1
  98. package/src/engine/graphics/ecs/camera/build_three_camera_object.js +0 -29
  99. package/src/engine/graphics/ecs/camera/frustum_from_camera.d.ts +0 -8
  100. package/src/engine/graphics/ecs/camera/frustum_from_camera.d.ts.map +0 -1
  101. package/src/engine/graphics/ecs/camera/frustum_from_camera.js +0 -20
  102. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.d.ts +0 -9
  103. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.d.ts.map +0 -1
  104. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.js +0 -46
  105. package/src/engine/graphics/ecs/camera/unprojectPoint.d.ts +0 -9
  106. package/src/engine/graphics/ecs/camera/unprojectPoint.d.ts.map +0 -1
  107. package/src/engine/graphics/ecs/camera/unprojectPoint.js +0 -14
  108. package/src/engine/graphics/ecs/camera/update_camera_transform.d.ts +0 -6
  109. package/src/engine/graphics/ecs/camera/update_camera_transform.d.ts.map +0 -1
  110. package/src/engine/graphics/ecs/camera/update_camera_transform.js +0 -17
  111. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts +0 -67
  112. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts.map +0 -1
  113. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.js +0 -291
  114. package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.d.ts +0 -11
  115. package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.d.ts.map +0 -1
  116. package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.js +0 -497
  117. package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.d.ts +0 -40
  118. package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.d.ts.map +0 -1
  119. package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.js +0 -47
  120. package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.d.ts +0 -7
  121. package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.d.ts.map +0 -1
  122. package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.js +0 -40
@@ -1,67 +0,0 @@
1
- export class ParticleEmitterSystem extends System<any> {
2
- /**
3
- *
4
- * @extends {System.<ParticleEmitter>}
5
- * @constructor
6
- * @param {Engine} engine
7
- */
8
- constructor(engine: Engine);
9
- dependencies: (typeof Transform | typeof ParticleEmitter)[];
10
- components_used: ResourceAccessSpecification<typeof ParticleEmitter>[];
11
- /**
12
- *
13
- * @type {RenderLayer|null}
14
- */
15
- renderLayer: RenderLayer | null;
16
- __handlers: any[];
17
- /**
18
- * `output_resolution` observer installed in startup, kept so shutdown can detach it
19
- * @type {Function|null}
20
- * @private
21
- */
22
- private __viewportSizeHook;
23
- /**
24
- * preRender hook installed in startup, kept so shutdown can detach it
25
- * @type {Function|null}
26
- * @private
27
- */
28
- private __preRenderHook;
29
- /**
30
- *
31
- * @type {GraphicsEngine}
32
- */
33
- graphicsEngine: GraphicsEngine;
34
- /**
35
- *
36
- * @type {AssetManager}
37
- */
38
- assetManager: AssetManager;
39
- /**
40
- *
41
- * @type {ParticularEngine}
42
- */
43
- particleEngine: ParticularEngine;
44
- startup(entityManager: any): Promise<void>;
45
- shutdown(entityManager: any): Promise<void>;
46
- /**
47
- *
48
- * @param {ParticleEmitter} emitter
49
- * @param {Transform} transform
50
- * @param entity
51
- */
52
- link(emitter: ParticleEmitter, transform: Transform, entity: any): void;
53
- /**
54
- *
55
- * @param {ParticleEmitter} emitter
56
- * @param {Transform} transform
57
- * @param entity
58
- */
59
- unlink(emitter: ParticleEmitter, transform: Transform, entity: any): void;
60
- update(timeDelta: any): void;
61
- }
62
- import { System } from "../../../ecs/System.js";
63
- import { Transform } from "../../../ecs/transform/Transform.js";
64
- import { ParticleEmitter } from "../particular/engine/emitter/ParticleEmitter.js";
65
- import { ResourceAccessSpecification } from "../../../../core/model/ResourceAccessSpecification.js";
66
- import { ParticularEngine } from "../particular/engine/ParticularEngine.js";
67
- //# sourceMappingURL=ParticleEmitterSystem.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParticleEmitterSystem.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/particles/ecs/ParticleEmitterSystem.js"],"names":[],"mappings":"AAaA;IA6BI;;;;;OAKG;IACH,4BAwBC;IA1DD,4DAA4C;IAE5C,uEAEE;IAEF;;;OAGG;IACH,aAFU,cAAY,IAAI,CAEP;IAEnB,kBAAgB;IAEhB;;;;OAIG;IACH,2BAA0B;IAE1B;;;;OAIG;IACH,wBAAuB;IAcnB;;;OAGG;IACH,+BAAqC;IAErC;;;OAGG;IACH,2BAAuC;IAEvC;;;OAGG;IACH,gBAFU,gBAAgB,CAE2E;IAIzG,2CA8HC;IAED,4CAsBC;IAED;;;;;OAKG;IACH,cAJW,eAAe,aACf,SAAS,qBAoCnB;IAED;;;;;OAKG;IACH,gBAJW,eAAe,aACf,SAAS,qBAenB;IAED,6BAEC;CACJ;uBA7RsB,wBAAwB;0BACrB,qCAAqC;gCAG/B,iDAAiD;4CANrC,uDAAuD;iCAQlE,0CAA0C"}
@@ -1,291 +0,0 @@
1
- import { assert } from "../../../../core/assert.js";
2
- import { make_bvh_depth_range_computer } from "../../ecs/make_bvh_depth_range_computer.js";
3
- import { ResourceAccessKind } from "../../../../core/model/ResourceAccessKind.js";
4
- import { ResourceAccessSpecification } from "../../../../core/model/ResourceAccessSpecification.js";
5
- import { ImageRGBADataLoader } from "../../../asset/loaders/image/ImageRGBADataLoader.js";
6
- import { System } from "../../../ecs/System.js";
7
- import { Transform } from "../../../ecs/transform/Transform.js";
8
- import { make_bvh_visibility_builder } from "../../render/make_bvh_visibility_builder.js";
9
- import { StandardFrameBuffers } from "../../StandardFrameBuffers.js";
10
- import { ParticleEmitter } from "../particular/engine/emitter/ParticleEmitter.js";
11
- import { ParticleEmitterFlag } from "../particular/engine/emitter/ParticleEmitterFlag.js";
12
- import { ParticularEngine } from "../particular/engine/ParticularEngine.js";
13
-
14
- export class ParticleEmitterSystem extends System {
15
- dependencies = [ParticleEmitter, Transform];
16
-
17
- components_used = [
18
- ResourceAccessSpecification.from(ParticleEmitter, ResourceAccessKind.Read | ResourceAccessKind.Write)
19
- ];
20
-
21
- /**
22
- *
23
- * @type {RenderLayer|null}
24
- */
25
- renderLayer = null;
26
-
27
- __handlers = [];
28
-
29
- /**
30
- * `output_resolution` observer installed in startup, kept so shutdown can detach it
31
- * @type {Function|null}
32
- * @private
33
- */
34
- __viewportSizeHook = null;
35
-
36
- /**
37
- * preRender hook installed in startup, kept so shutdown can detach it
38
- * @type {Function|null}
39
- * @private
40
- */
41
- __preRenderHook = null;
42
-
43
- /**
44
- *
45
- * @extends {System.<ParticleEmitter>}
46
- * @constructor
47
- * @param {Engine} engine
48
- */
49
- constructor(engine) {
50
- super();
51
-
52
- assert.defined(engine, 'engine');
53
- assert.equal(engine.isEngine, true, 'engine.isEngine !== true');
54
-
55
- /**
56
- *
57
- * @type {GraphicsEngine}
58
- */
59
- this.graphicsEngine = engine.graphics;
60
-
61
- /**
62
- *
63
- * @type {AssetManager}
64
- */
65
- this.assetManager = engine.assetManager;
66
-
67
- /**
68
- *
69
- * @type {ParticularEngine}
70
- */
71
- this.particleEngine = new ParticularEngine(engine.assetManager, engine.graphics.getMaterialManager());
72
-
73
- }
74
-
75
- async startup(entityManager) {
76
- const am = this.assetManager;
77
-
78
- if (!am.hasLoaderForType('image')) {
79
- await am.registerLoader('image', new ImageRGBADataLoader());
80
- }
81
-
82
- const self = this;
83
-
84
- this.entityManager = entityManager;
85
-
86
- const graphicsEngine = this.graphicsEngine;
87
-
88
- const renderLayer = graphicsEngine.layers.create('particles-system');
89
-
90
- this.renderLayer = renderLayer;
91
-
92
- renderLayer.buildVisibleSet = make_bvh_visibility_builder(
93
- this.entityManager, this.particleEngine.bvh,
94
- (destination, offset, entity, ecd) => {
95
- const component = ecd.getComponent(entity, ParticleEmitter);
96
-
97
-
98
- destination[offset] = component.mesh;
99
- return 1;
100
- }
101
- );
102
-
103
- renderLayer.compute_depth_range = make_bvh_depth_range_computer(this.particleEngine.bvh);
104
-
105
- renderLayer.visibleSet.onAdded.add((points) => {
106
- /**
107
- *
108
- * @type {ParticleEmitter}
109
- */
110
- const emitter = points.__meep_ecs_component;
111
-
112
- // wake up
113
- emitter.clearFlag(ParticleEmitterFlag.Sleeping);
114
-
115
- // console.log('Added', emitter, renderLayer.visibleSet.version);
116
- });
117
-
118
- renderLayer.visibleSet.onRemoved.add((points) => {
119
- /**
120
- *
121
- * @type {ParticleEmitter}
122
- */
123
- const emitter = points.__meep_ecs_component;
124
-
125
- emitter.setFlag(ParticleEmitterFlag.Sleeping);
126
-
127
- // console.log('Removed', emitter, renderLayer.visibleSet.version);
128
- });
129
-
130
-
131
- const depthBuffer = graphicsEngine.frameBuffers.getById(StandardFrameBuffers.ColorAndDepth);
132
-
133
- const depthTexture = depthBuffer.renderTarget.depthTexture;
134
-
135
- this.particleEngine.setDepthTexture(depthTexture);
136
-
137
-
138
- // device pixels, not CSS pixels. The billboard shader spends this value on the render target's
139
- // own grid twice over: `gl_FragCoord.xy / resolution` reads the depth attachment acquired just
140
- // above, and `gl_PointSize` is measured in framebuffer pixels. `output_resolution` is what that
141
- // attachment is sized from -- rebuilding it here from the CSS size and a freshly read
142
- // `window.devicePixelRatio` matched only up to rounding, and only until the DPR moved without
143
- // a resize behind it
144
- function updateViewportSize(x, y) {
145
- self.particleEngine.setViewportSize(x, y);
146
- }
147
-
148
- this.__viewportSizeHook = updateViewportSize;
149
- graphicsEngine.output_resolution.process(updateViewportSize);
150
-
151
- function preRenderHook(renderer, camera, scene) {
152
- //update camera
153
- self.particleEngine.setCamera(camera);
154
- //update shaders
155
- self.particleEngine.shaderManager.update();
156
-
157
- const visibleSet = renderLayer.visibleSet;
158
- const visible_emitter_count = visibleSet.size;
159
-
160
- if (visible_emitter_count > 0) {
161
- depthBuffer.referenceCount++;
162
- self.graphicsEngine.on.postRender.addOne(function () {
163
- depthBuffer.referenceCount--;
164
- });
165
- }
166
-
167
-
168
- for (let i = 0; i < visible_emitter_count; i++) {
169
- /**
170
- *
171
- * @type {Object3D}
172
- */
173
- const points = visibleSet.elements[i];
174
-
175
- /**
176
- *
177
- * @type {ParticleEmitter}
178
- */
179
- const emitter = points.__meep_ecs_component;
180
-
181
-
182
- //update particle geometry
183
- emitter.update();
184
-
185
-
186
- if (emitter.getFlag(ParticleEmitterFlag.DepthSorting)) {
187
-
188
- /*
189
- sort particles.
190
-
191
- NOTE: It is important that update is done first before sort, as sort assumes that all particles in the
192
- pool are alive. If this assumption is broken - corruption of the pool may occur
193
- */
194
- emitter.sort(camera);
195
- }
196
- }
197
- }
198
-
199
- this.__preRenderHook = preRenderHook;
200
- graphicsEngine.on.preRender.add(preRenderHook);
201
- }
202
-
203
- async shutdown(entityManager) {
204
- const graphicsEngine = this.graphicsEngine;
205
-
206
- if (this.__viewportSizeHook !== null) {
207
- graphicsEngine.output_resolution.onChanged.remove(this.__viewportSizeHook);
208
- this.__viewportSizeHook = null;
209
- }
210
-
211
- if (this.__preRenderHook !== null) {
212
- // left attached, the hook keeps driving the particle simulation for a system that is gone, and
213
- // keeps taking a reference on the ColorAndDepth frame buffer every frame the last visible set
214
- // was non-empty, so FrameBufferManager goes on rendering that buffer for nobody
215
- graphicsEngine.on.preRender.remove(this.__preRenderHook);
216
- this.__preRenderHook = null;
217
- }
218
-
219
- graphicsEngine.layers.remove(this.renderLayer);
220
-
221
- // every emitter has already been unlinked by this point: both teardown paths detach the dataset
222
- // (EntityManager#shutdown) or remove the system observer (EntityManager#removeSystem) before
223
- // calling shutdown, so `unlink` has run for each one
224
- this.particleEngine.dispose();
225
- }
226
-
227
- /**
228
- *
229
- * @param {ParticleEmitter} emitter
230
- * @param {Transform} transform
231
- * @param entity
232
- */
233
- link(emitter, transform, entity) {
234
- function handlePositionChange(x, y, z) {
235
- emitter.position.set(x, y, z);
236
- }
237
-
238
- transform.position.process(handlePositionChange);
239
-
240
- function handleRotationChange(x, y, z, w) {
241
- emitter.rotation.set(x, y, z, w);
242
- }
243
-
244
- transform.rotation.process(handleRotationChange);
245
-
246
- function handleScaleChange(x, y, z) {
247
- emitter.scale.set(x, y, z);
248
- }
249
-
250
- transform.scale.process(handleScaleChange);
251
-
252
- this.__handlers[entity] = {
253
- handlePositionChange,
254
- handleRotationChange,
255
- handleScaleChange
256
- };
257
-
258
- //initialize emitter as suspended to prevent needless updates
259
- emitter.setFlag(ParticleEmitterFlag.Sleeping);
260
-
261
- emitter.id = entity;
262
-
263
- // emitter.bvhLeaf.entity = entity; //this line makes emitter selectable via bounding box in editor
264
-
265
- this.particleEngine.add(emitter);
266
- }
267
-
268
- /**
269
- *
270
- * @param {ParticleEmitter} emitter
271
- * @param {Transform} transform
272
- * @param entity
273
- */
274
- unlink(emitter, transform, entity) {
275
- const handler = this.__handlers[entity];
276
-
277
- transform.position.onChanged.remove(handler.handlePositionChange);
278
- transform.rotation.onChanged.remove(handler.handleRotationChange);
279
- transform.scale.onChanged.remove(handler.handleScaleChange);
280
-
281
- delete this.__handlers[entity];
282
-
283
- this.particleEngine.remove(emitter);
284
-
285
- emitter.dispose();
286
- }
287
-
288
- update(timeDelta) {
289
- this.particleEngine.advance(timeDelta);
290
- }
291
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * NOTES:
3
- * - To implement per-particle blend modes, we need to have access to what we're blending on to, that is - the color buffer
4
- * Having the color buffer - we can do just about any kind of a blend
5
- *
6
- * - Support animation by adding animation sprite sheet to the main sprite atlas, record resolution of the sheet (in frames X,Y) and interpolate over tiles based on some parameter
7
- * @param {boolean} [lights]
8
- */
9
- export function make_particle_billboard_shader({ lights }?: boolean): ShaderMaterial;
10
- import { ShaderMaterial } from "three";
11
- //# sourceMappingURL=ParticleBillboardMaterial.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ParticleBillboardMaterial.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.js"],"names":[],"mappings":"AA+ZA;;;;;;;GAOG;AACH,4DAFW,OAAO,kBA2EjB;+BAreM,OAAO"}