@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.
- package/editor/particles/rebuildParticleEmitter.js +8 -26
- package/editor/process/symbolic/CameraSymbolicDisplay.js +146 -146
- package/editor/tools/SelectionTool.js +1 -2
- package/editor/tools/TransformToolV2.js +2 -3
- package/editor/tools/v2/BlenderCameraOrientationGizmo.js +501 -501
- package/editor/tools/v2/TransformControls.js +1 -1
- package/package.json +95 -96
- package/src/core/geom/3d/mat4/m4_look_at.d.ts +25 -0
- package/src/core/geom/3d/mat4/m4_look_at.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_look_at.js +96 -0
- package/src/core/geom/3d/mat4/m4_make_rotation_x.d.ts +18 -0
- package/src/core/geom/3d/mat4/m4_make_rotation_x.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_make_rotation_x.js +47 -0
- package/src/core/geom/3d/mat4/m4_make_rotation_y.d.ts +18 -0
- package/src/core/geom/3d/mat4/m4_make_rotation_y.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_make_rotation_y.js +47 -0
- package/src/core/geom/3d/mat4/m4_make_rotation_z.d.ts +18 -0
- package/src/core/geom/3d/mat4/m4_make_rotation_z.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_make_rotation_z.js +47 -0
- package/src/core/geom/3d/mat4/m4_perspective.d.ts +25 -0
- package/src/core/geom/3d/mat4/m4_perspective.d.ts.map +1 -0
- package/src/core/geom/3d/mat4/m4_perspective.js +66 -0
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.js +2045 -2052
- package/src/engine/ecs/gui/hud/testHudEdgeStick.js +2 -2
- package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/TerrainSystem.js +14 -27
- package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.d.ts.map +1 -1
- package/src/engine/ecs/terrain/util/loadVisibleTerrainTiles.js +129 -126
- package/src/engine/graphics/ecs/camera/Camera.d.ts +36 -48
- package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/Camera.js +165 -303
- package/src/engine/graphics/ecs/camera/camera_active_frustum.d.ts +14 -0
- package/src/engine/graphics/ecs/camera/camera_active_frustum.d.ts.map +1 -0
- package/src/engine/graphics/ecs/camera/camera_active_frustum.js +25 -0
- package/src/engine/graphics/ecs/camera/camera_find_active.d.ts +16 -0
- package/src/engine/graphics/ecs/camera/camera_find_active.d.ts.map +1 -0
- package/src/engine/graphics/ecs/camera/camera_find_active.js +28 -0
- package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts +12 -0
- package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts.map +1 -0
- package/src/engine/graphics/ecs/camera/camera_traverse_active.js +18 -0
- package/src/engine/graphics/ecs/camera/pp/PerfectPanner.js +170 -170
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts +5 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts.map +1 -1
- package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.js +296 -281
- package/src/engine/graphics/ecs/render_layers_compute_depth_range.d.ts +1 -1
- package/src/engine/graphics/ecs/render_layers_compute_depth_range.js +1 -1
- package/src/engine/graphics/geometry/AttributeData.d.ts +52 -0
- package/src/engine/graphics/geometry/AttributeData.d.ts.map +1 -0
- package/src/engine/graphics/geometry/AttributeData.js +84 -0
- package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts +1 -14
- package/src/engine/graphics/particles/particular/engine/ParticularEngine.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/ParticularEngine.js +229 -253
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +25 -12
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +1149 -1194
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts +4 -8
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +472 -540
- package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts +19 -90
- package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.d.ts.map +1 -1
- package/src/engine/graphics/particles/particular/engine/shader/ShaderManager.js +135 -514
- package/src/engine/graphics3/CameraSystem3.d.ts.map +1 -1
- package/src/engine/graphics3/CameraSystem3.js +10 -1
- package/src/engine/graphics3/GraphicsEngine3.d.ts +3 -3
- package/src/engine/graphics3/GraphicsEngine3.js +3 -3
- package/src/engine/graphics3/ParticleEmitterSystem3.d.ts +11 -0
- package/src/engine/graphics3/ParticleEmitterSystem3.d.ts.map +1 -1
- package/src/engine/graphics3/ParticleEmitterSystem3.js +289 -265
- package/src/engine/graphics3/ShadeCameraAdapter.d.ts +3 -3
- package/src/engine/graphics3/ShadeCameraAdapter.js +3 -3
- package/src/engine/graphics3/camera_sync_from_transform.d.ts +2 -2
- package/src/engine/graphics3/camera_sync_from_transform.js +2 -2
- package/src/engine/graphics3/shade_camera_projection_ray.js +2 -2
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/shade/renderer/camera/Camera.d.ts +3 -5
- package/src/shade/renderer/camera/Camera.d.ts.map +1 -1
- package/src/shade/renderer/camera/Camera.js +281 -280
- package/src/shade/renderer/camera/GPUCameraContext.js +233 -233
- package/src/shade/renderer/loader/usd/parse_usda.js +1 -1
- package/src/shade/renderer/loader/usd/usd_build_scene.d.ts.map +1 -1
- package/src/shade/renderer/loader/usd/usd_build_scene.js +658 -652
- package/src/shade/renderer/loader/usd/usd_compose_transform.d.ts.map +1 -1
- package/src/shade/renderer/loader/usd/usd_compose_transform.js +58 -23
- package/src/shade/renderer/particles/prototypeParticleSystem.js +450 -443
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.js +7 -3
- package/src/view/minimap/dom/MinimapCameraView.d.ts +2 -2
- package/src/view/minimap/dom/MinimapCameraView.js +206 -206
- package/src/engine/graphics/ecs/camera/CameraSystem.d.ts +0 -74
- package/src/engine/graphics/ecs/camera/CameraSystem.d.ts.map +0 -1
- package/src/engine/graphics/ecs/camera/CameraSystem.js +0 -331
- package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.d.ts +0 -10
- package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.d.ts.map +0 -1
- package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.js +0 -105
- package/src/engine/graphics/ecs/camera/build_three_camera_object.d.ts +0 -7
- package/src/engine/graphics/ecs/camera/build_three_camera_object.d.ts.map +0 -1
- package/src/engine/graphics/ecs/camera/build_three_camera_object.js +0 -29
- package/src/engine/graphics/ecs/camera/frustum_from_camera.d.ts +0 -8
- package/src/engine/graphics/ecs/camera/frustum_from_camera.d.ts.map +0 -1
- package/src/engine/graphics/ecs/camera/frustum_from_camera.js +0 -20
- package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.d.ts +0 -9
- package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.d.ts.map +0 -1
- package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.js +0 -46
- package/src/engine/graphics/ecs/camera/unprojectPoint.d.ts +0 -9
- package/src/engine/graphics/ecs/camera/unprojectPoint.d.ts.map +0 -1
- package/src/engine/graphics/ecs/camera/unprojectPoint.js +0 -14
- package/src/engine/graphics/ecs/camera/update_camera_transform.d.ts +0 -6
- package/src/engine/graphics/ecs/camera/update_camera_transform.d.ts.map +0 -1
- package/src/engine/graphics/ecs/camera/update_camera_transform.js +0 -17
- package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts +0 -67
- package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts.map +0 -1
- package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.js +0 -291
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.d.ts +0 -11
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.js +0 -497
- package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.d.ts +0 -40
- package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.d.ts.map +0 -1
- package/src/engine/graphics/particles/particular/engine/shader/MaterialRecord.js +0 -47
- package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.d.ts +0 -7
- package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.d.ts.map +0 -1
- package/src/engine/graphics/texture/sampler/writeSampler2DDataToDataTexture.js +0 -40
|
@@ -1,120 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The sprite sheet the particle system draws from.
|
|
3
|
+
*
|
|
4
|
+
* **Every emitter's layers share one atlas**, so a hundred effects using the same puff of smoke pay
|
|
5
|
+
* for one image; a layer holds a reference to the patch it was given and hands it back when the
|
|
6
|
+
* emitter is deregistered, and the atlas repacks when the set of patches changes.
|
|
7
|
+
*
|
|
8
|
+
* The class used to carry a second job — a compiled shader per emitter, keyed on the four flags
|
|
9
|
+
* that change the shader, with a graveyard of unused records to avoid recompiling. That was three's
|
|
10
|
+
* `ShaderMaterial`, and it is gone: the particles are drawn by a Shade pass that owns its own
|
|
11
|
+
* pipeline and reads the atlas sampler directly.
|
|
12
|
+
*/
|
|
1
13
|
export class ShaderManager {
|
|
2
14
|
/**
|
|
3
|
-
*
|
|
4
15
|
* @param {AssetManager} asset_manager
|
|
5
|
-
* @param {MaterialManager} material_manager
|
|
6
|
-
* @constructor
|
|
7
|
-
*/
|
|
8
|
-
constructor(asset_manager: AssetManager, material_manager: MaterialManager);
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @type {Texture|null}
|
|
12
|
-
*/
|
|
13
|
-
depthTexture: Texture | null;
|
|
14
|
-
/**
|
|
15
|
-
* Number of unused records to keep, this allows reused of records avoiding shader recompilation
|
|
16
|
-
* @type {number}
|
|
17
16
|
*/
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
*
|
|
21
|
-
* @type {MaterialManager}
|
|
22
|
-
* @private
|
|
23
|
-
*/
|
|
24
|
-
private __material_manager;
|
|
17
|
+
constructor(asset_manager: AssetManager);
|
|
25
18
|
/**
|
|
26
19
|
*
|
|
27
20
|
* @type {ManagedAtlas}
|
|
28
21
|
*/
|
|
29
22
|
spriteAtlas: ManagedAtlas;
|
|
30
23
|
/**
|
|
31
|
-
*
|
|
32
|
-
* @type {DataTexture|null}
|
|
33
|
-
*/
|
|
34
|
-
spriteTexture: DataTexture | null;
|
|
35
|
-
/**
|
|
36
|
-
* material map is identified by parameter hash
|
|
37
|
-
* @readonly
|
|
38
|
-
* @private
|
|
39
|
-
* @type {HashMap<ParticleEmitter, MaterialRecord>}
|
|
40
|
-
*/
|
|
41
|
-
private readonly materialMap;
|
|
42
|
-
/**
|
|
43
|
-
* @readonly
|
|
44
|
-
* @private
|
|
45
|
-
* @type {HashMap<ParticleEmitter, MaterialRecord>}
|
|
46
|
-
*/
|
|
47
|
-
private readonly recordGraveyard;
|
|
48
|
-
/**
|
|
49
|
-
*
|
|
50
|
-
* @type {Vector2}
|
|
51
|
-
*/
|
|
52
|
-
viewportSize: Vector2;
|
|
53
|
-
/**
|
|
54
|
-
* Common shader uniforms, inherited by every material and updated centrally (here)
|
|
55
|
-
* @private
|
|
56
|
-
*/
|
|
57
|
-
private __common_uniforms;
|
|
58
|
-
/**
|
|
59
|
-
* Should be called before using shaders managed by this
|
|
24
|
+
* Should be called before using the sprite sheet.
|
|
60
25
|
*/
|
|
61
26
|
update(): void;
|
|
62
27
|
/**
|
|
63
|
-
*
|
|
64
|
-
*/
|
|
65
|
-
private updateSpriteTexture;
|
|
66
|
-
/**
|
|
67
|
-
* @private
|
|
68
|
-
* @returns {Reference<Material>}
|
|
69
|
-
* @param {ParticleEmitter} emitter
|
|
70
|
-
*/
|
|
71
|
-
private buildMaterial;
|
|
72
|
-
/**
|
|
28
|
+
* Take out a reference to every sprite the emitter's layers name.
|
|
73
29
|
*
|
|
74
30
|
* @param {ParticleEmitter} emitter
|
|
75
31
|
*/
|
|
76
32
|
register(emitter: ParticleEmitter): void;
|
|
77
33
|
/**
|
|
78
|
-
*
|
|
79
|
-
*/
|
|
80
|
-
cleanup(): void;
|
|
81
|
-
/**
|
|
34
|
+
* Hand back every sprite the emitter's layers hold.
|
|
82
35
|
*
|
|
83
36
|
* @param {ParticleEmitter} emitter
|
|
84
37
|
*/
|
|
85
38
|
deregister(emitter: ParticleEmitter): void;
|
|
86
39
|
/**
|
|
40
|
+
* Hand back every sprite this manager acquired.
|
|
87
41
|
*
|
|
88
|
-
*
|
|
89
|
-
|
|
90
|
-
setCamera(camera: Camera): void;
|
|
91
|
-
camera: Camera;
|
|
92
|
-
/**
|
|
93
|
-
*
|
|
94
|
-
* @param {Texture} texture
|
|
95
|
-
*/
|
|
96
|
-
setDepthTexture(texture: Texture): void;
|
|
97
|
-
/**
|
|
98
|
-
*
|
|
99
|
-
* @param {number} x
|
|
100
|
-
* @param {number} y
|
|
101
|
-
*/
|
|
102
|
-
setViewportSize(x: number, y: number): void;
|
|
103
|
-
/**
|
|
104
|
-
* Hand back every resource this manager acquired.
|
|
105
|
-
*
|
|
106
|
-
* Materials are given back to the {@link MaterialManager} rather than disposed here: the compiled
|
|
107
|
-
* material is shared by content hash with every other consumer that asked for the same shader, so the
|
|
108
|
-
* manager is the only thing that can know when the last user is gone. Releasing is therefore safe
|
|
109
|
-
* whichever way the teardown ordering falls, even for a material a live mesh still points at.
|
|
110
|
-
*
|
|
111
|
-
* The manager is left able to re-acquire, so a system that starts up again gets working materials and
|
|
112
|
-
* a working sprite sheet without being rebuilt.
|
|
42
|
+
* The manager is left able to re-acquire, so a system that starts up again gets a working
|
|
43
|
+
* sprite sheet without being rebuilt.
|
|
113
44
|
*/
|
|
114
45
|
dispose(): void;
|
|
115
46
|
#private;
|
|
116
47
|
}
|
|
117
48
|
import { ManagedAtlas } from "../../../../texture/atlas/ManagedTextureAtlas.js";
|
|
118
|
-
import { DataTexture } from "three";
|
|
119
|
-
import Vector2 from "../../../../../../core/geom/Vector2.js";
|
|
120
49
|
//# sourceMappingURL=ShaderManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShaderManager.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/particles/particular/engine/shader/ShaderManager.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShaderManager.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/particles/particular/engine/shader/ShaderManager.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH;IAgBI;;OAEG;IACH,yCAUC;IAPG;;;OAGG;IACH,aAFU,YAAY,CAE4B;IAKtD;;OAEG;IACH,eAEC;IAWD;;;;OAIG;IACH,yCAsBC;IAED;;;;OAIG;IACH,2CAqBC;IAED;;;;;OAKG;IACH,gBAOC;;CACJ;6BArI4B,kDAAkD"}
|