@babylonjs/core 7.26.5 → 7.27.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/Animations/animationGroup.d.ts +2 -2
- package/Animations/animationGroup.js.map +1 -1
- package/Audio/audioSceneComponent.d.ts +5 -9
- package/Audio/audioSceneComponent.js.map +1 -1
- package/Bones/skeleton.d.ts +2 -2
- package/Bones/skeleton.js.map +1 -1
- package/Cameras/camera.d.ts +2 -0
- package/Cameras/camera.js +2 -0
- package/Cameras/camera.js.map +1 -1
- package/Engines/WebGPU/webgpuSnapshotRendering.js +3 -0
- package/Engines/WebGPU/webgpuSnapshotRendering.js.map +1 -1
- package/Engines/abstractEngine.js +2 -2
- package/Engines/abstractEngine.js.map +1 -1
- package/{abstractScene.d.ts → IAssetContainer.d.ts} +33 -6
- package/IAssetContainer.js +2 -0
- package/IAssetContainer.js.map +1 -0
- package/Layers/effectLayerSceneComponent.d.ts +6 -6
- package/Layers/effectLayerSceneComponent.js +3 -3
- package/Layers/effectLayerSceneComponent.js.map +1 -1
- package/Layers/glowLayer.d.ts +3 -3
- package/Layers/glowLayer.js +2 -2
- package/Layers/glowLayer.js.map +1 -1
- package/Layers/highlightLayer.d.ts +3 -3
- package/Layers/highlightLayer.js +2 -2
- package/Layers/highlightLayer.js.map +1 -1
- package/Layers/layerSceneComponent.d.ts +5 -5
- package/Layers/layerSceneComponent.js.map +1 -1
- package/LensFlares/lensFlareSystemSceneComponent.d.ts +6 -6
- package/LensFlares/lensFlareSystemSceneComponent.js +6 -6
- package/LensFlares/lensFlareSystemSceneComponent.js.map +1 -1
- package/Lights/Shadows/shadowGeneratorSceneComponent.d.ts +3 -3
- package/Lights/Shadows/shadowGeneratorSceneComponent.js.map +1 -1
- package/Materials/GreasedLine/greasedLineSimpleMaterial.js +1 -1
- package/Materials/GreasedLine/greasedLineSimpleMaterial.js.map +1 -1
- package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.d.ts +2 -2
- package/Materials/Textures/Procedurals/proceduralTextureSceneComponent.js.map +1 -1
- package/Materials/Textures/baseTexture.d.ts +2 -2
- package/Materials/Textures/baseTexture.js.map +1 -1
- package/Materials/material.d.ts +2 -2
- package/Materials/material.decalMapConfiguration.d.ts +1 -1
- package/Materials/material.decalMapConfiguration.js +1 -1
- package/Materials/material.decalMapConfiguration.js.map +1 -1
- package/Materials/material.js.map +1 -1
- package/Materials/shaderMaterial.d.ts +5 -0
- package/Materials/shaderMaterial.js +7 -0
- package/Materials/shaderMaterial.js.map +1 -1
- package/Maths/math.color.d.ts +20 -0
- package/Maths/math.color.js +41 -12
- package/Maths/math.color.js.map +1 -1
- package/Meshes/Builders/greasedLineBuilder.d.ts +16 -0
- package/Meshes/Builders/greasedLineBuilder.js +1 -1
- package/Meshes/Builders/greasedLineBuilder.js.map +1 -1
- package/Meshes/Builders/groundBuilder.d.ts +1 -0
- package/Meshes/Builders/groundBuilder.js +2 -2
- package/Meshes/Builders/groundBuilder.js.map +1 -1
- package/Meshes/GreasedLine/greasedLineBaseMesh.js +1 -1
- package/Meshes/GreasedLine/greasedLineBaseMesh.js.map +1 -1
- package/Meshes/GreasedLine/greasedLineMesh.js +1 -1
- package/Meshes/GreasedLine/greasedLineMesh.js.map +1 -1
- package/Meshes/GreasedLine/greasedLineRibbonMesh.js +1 -1
- package/Meshes/GreasedLine/greasedLineRibbonMesh.js.map +1 -1
- package/Meshes/Node/Blocks/Set/setPositionsBlock.d.ts +3 -0
- package/Meshes/Node/Blocks/Set/setPositionsBlock.js +86 -1
- package/Meshes/Node/Blocks/Set/setPositionsBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/nullBlock.d.ts +4 -0
- package/Meshes/Node/Blocks/Sources/nullBlock.js +8 -0
- package/Meshes/Node/Blocks/Sources/nullBlock.js.map +1 -1
- package/Meshes/Node/Blocks/Sources/planeBlock.d.ts +13 -0
- package/Meshes/Node/Blocks/Sources/planeBlock.js +41 -3
- package/Meshes/Node/Blocks/Sources/planeBlock.js.map +1 -1
- package/Meshes/Node/Blocks/debugBlock.js +1 -1
- package/Meshes/Node/Blocks/debugBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryElbowBlock.js +1 -1
- package/Meshes/Node/Blocks/geometryElbowBlock.js.map +1 -1
- package/Meshes/Node/Blocks/geometryOptimizeBlock.d.ts +4 -0
- package/Meshes/Node/Blocks/geometryOptimizeBlock.js +47 -1
- package/Meshes/Node/Blocks/geometryOptimizeBlock.js.map +1 -1
- package/Meshes/geometry.d.ts +2 -2
- package/Meshes/geometry.js.map +1 -1
- package/Meshes/meshUVSpaceRenderer.d.ts +3 -2
- package/Meshes/meshUVSpaceRenderer.js +15 -3
- package/Meshes/meshUVSpaceRenderer.js.map +1 -1
- package/Misc/greasedLineTools.d.ts +3 -1
- package/Misc/greasedLineTools.js +17 -2
- package/Misc/greasedLineTools.js.map +1 -1
- package/Misc/index.d.ts +2 -0
- package/Misc/index.js +2 -0
- package/Misc/index.js.map +1 -1
- package/Misc/screenshotTools.js +3 -2
- package/Misc/screenshotTools.js.map +1 -1
- package/Misc/textureTools.js +20 -4
- package/Misc/textureTools.js.map +1 -1
- package/Morph/morphTargetManager.d.ts +2 -2
- package/Morph/morphTargetManager.js.map +1 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.d.ts +3 -1
- package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.js +49 -10
- package/PostProcesses/RenderPipeline/Pipelines/ssrRenderingPipeline.js.map +1 -1
- package/PostProcesses/postProcess.d.ts +2 -2
- package/PostProcesses/postProcess.js.map +1 -1
- package/Probes/reflectionProbe.d.ts +5 -5
- package/Probes/reflectionProbe.js +3 -3
- package/Probes/reflectionProbe.js.map +1 -1
- package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js +8 -2
- package/Rendering/IBLShadows/iblShadowsVoxelTracingPass.js.map +1 -1
- package/Rendering/fluidRenderer/fluidRenderer.d.ts +2 -2
- package/Rendering/fluidRenderer/fluidRenderer.js.map +1 -1
- package/Rendering/geometryBufferRenderer.d.ts +30 -0
- package/Rendering/geometryBufferRenderer.js +100 -18
- package/Rendering/geometryBufferRenderer.js.map +1 -1
- package/Rendering/prePassRendererSceneComponent.d.ts +2 -2
- package/Rendering/prePassRendererSceneComponent.js.map +1 -1
- package/Rendering/screenSpaceReflections2Configuration.d.ts +4 -0
- package/Rendering/screenSpaceReflections2Configuration.js +6 -2
- package/Rendering/screenSpaceReflections2Configuration.js.map +1 -1
- package/Rendering/subSurfaceSceneComponent.d.ts +2 -2
- package/Rendering/subSurfaceSceneComponent.js.map +1 -1
- package/Shaders/ShadersInclude/screenSpaceRayTrace.js +28 -3
- package/Shaders/ShadersInclude/screenSpaceRayTrace.js.map +1 -1
- package/Shaders/geometry.fragment.js +4 -5
- package/Shaders/geometry.fragment.js.map +1 -1
- package/Shaders/iblShadowVoxelTracing.fragment.js +12 -2
- package/Shaders/iblShadowVoxelTracing.fragment.js.map +1 -1
- package/Shaders/lod.fragment.js +2 -2
- package/Shaders/lod.fragment.js.map +1 -1
- package/Shaders/lodCube.fragment.js +2 -2
- package/Shaders/lodCube.fragment.js.map +1 -1
- package/Shaders/screenSpaceReflection2.fragment.js +7 -2
- package/Shaders/screenSpaceReflection2.fragment.js.map +1 -1
- package/Shaders/screenSpaceReflection2BlurCombiner.fragment.js +8 -1
- package/Shaders/screenSpaceReflection2BlurCombiner.fragment.js.map +1 -1
- package/Shaders/spriteMap.fragment.js +18 -6
- package/Shaders/spriteMap.fragment.js.map +1 -1
- package/Shaders/spriteMap.vertex.js +1 -1
- package/Shaders/spriteMap.vertex.js.map +1 -1
- package/ShadersWGSL/ShadersInclude/screenSpaceRayTrace.js +30 -4
- package/ShadersWGSL/ShadersInclude/screenSpaceRayTrace.js.map +1 -1
- package/ShadersWGSL/geometry.fragment.js +6 -7
- package/ShadersWGSL/geometry.fragment.js.map +1 -1
- package/ShadersWGSL/lod.fragment.d.ts +5 -0
- package/ShadersWGSL/lod.fragment.js +11 -0
- package/ShadersWGSL/lod.fragment.js.map +1 -0
- package/ShadersWGSL/lodCube.fragment.d.ts +5 -0
- package/ShadersWGSL/lodCube.fragment.js +30 -0
- package/ShadersWGSL/lodCube.fragment.js.map +1 -0
- package/ShadersWGSL/screenSpaceReflection2.fragment.js +7 -2
- package/ShadersWGSL/screenSpaceReflection2.fragment.js.map +1 -1
- package/ShadersWGSL/screenSpaceReflection2BlurCombiner.fragment.js +8 -1
- package/ShadersWGSL/screenSpaceReflection2BlurCombiner.fragment.js.map +1 -1
- package/Sprites/spriteMap.d.ts +16 -0
- package/Sprites/spriteMap.js +17 -0
- package/Sprites/spriteMap.js.map +1 -1
- package/assetContainer.d.ts +143 -3
- package/assetContainer.js +129 -8
- package/assetContainer.js.map +1 -1
- package/index.d.ts +0 -1
- package/index.js +0 -1
- package/index.js.map +1 -1
- package/node.d.ts +2 -2
- package/node.js.map +1 -1
- package/package.json +1 -1
- package/scene.d.ts +99 -14
- package/scene.js +114 -23
- package/scene.js.map +1 -1
- package/sceneComponent.d.ts +3 -3
- package/sceneComponent.js.map +1 -1
- package/abstractScene.js +0 -117
- package/abstractScene.js.map +0 -1
package/assetContainer.d.ts
CHANGED
|
@@ -1,15 +1,155 @@
|
|
|
1
|
-
import { AbstractScene } from "./abstractScene";
|
|
2
1
|
import type { Scene } from "./scene";
|
|
3
2
|
import { Mesh } from "./Meshes/mesh";
|
|
3
|
+
import { TransformNode } from "./Meshes/transformNode";
|
|
4
4
|
import type { Skeleton } from "./Bones/skeleton";
|
|
5
5
|
import type { AnimationGroup } from "./Animations/animationGroup";
|
|
6
6
|
import type { Animatable } from "./Animations/animatable";
|
|
7
|
+
import { AbstractMesh } from "./Meshes/abstractMesh";
|
|
8
|
+
import type { MultiMaterial } from "./Materials/multiMaterial";
|
|
9
|
+
import type { Material } from "./Materials/material";
|
|
7
10
|
import type { Nullable } from "./types";
|
|
8
11
|
import type { Node } from "./node";
|
|
12
|
+
import { Light } from "./Lights/light";
|
|
13
|
+
import { Camera } from "./Cameras/camera";
|
|
14
|
+
import type { IParticleSystem } from "./Particles/IParticleSystem";
|
|
15
|
+
import type { IAssetContainer } from "./IAssetContainer";
|
|
16
|
+
import type { Animation } from "./Animations/animation";
|
|
17
|
+
import type { MorphTargetManager } from "./Morph/morphTargetManager";
|
|
18
|
+
import type { Geometry } from "./Meshes/geometry";
|
|
19
|
+
import type { AbstractActionManager } from "./Actions/abstractActionManager";
|
|
20
|
+
import type { BaseTexture } from "./Materials/Textures/baseTexture";
|
|
21
|
+
import type { PostProcess } from "./PostProcesses/postProcess";
|
|
22
|
+
import type { Sound } from "./Audio/sound";
|
|
23
|
+
import type { Layer } from "./Layers/layer";
|
|
24
|
+
import type { EffectLayer } from "./Layers/effectLayer";
|
|
25
|
+
import type { ReflectionProbe } from "./Probes/reflectionProbe";
|
|
26
|
+
import type { LensFlareSystem } from "./LensFlares/lensFlareSystem";
|
|
27
|
+
import type { ProceduralTexture } from "./Materials/Textures/Procedurals/proceduralTexture";
|
|
28
|
+
/**
|
|
29
|
+
* Root class for AssetContainer and KeepAssets
|
|
30
|
+
*/
|
|
31
|
+
export declare class AbstractAssetContainer implements IAssetContainer {
|
|
32
|
+
/**
|
|
33
|
+
* Gets the list of root nodes (ie. nodes with no parent)
|
|
34
|
+
*/
|
|
35
|
+
rootNodes: Node[];
|
|
36
|
+
/** All of the cameras added to this scene
|
|
37
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras
|
|
38
|
+
*/
|
|
39
|
+
cameras: Camera[];
|
|
40
|
+
/**
|
|
41
|
+
* All of the lights added to this scene
|
|
42
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/lights/lights_introduction
|
|
43
|
+
*/
|
|
44
|
+
lights: Light[];
|
|
45
|
+
/**
|
|
46
|
+
* All of the (abstract) meshes added to this scene
|
|
47
|
+
*/
|
|
48
|
+
meshes: AbstractMesh[];
|
|
49
|
+
/**
|
|
50
|
+
* The list of skeletons added to the scene
|
|
51
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/bonesSkeletons
|
|
52
|
+
*/
|
|
53
|
+
skeletons: Skeleton[];
|
|
54
|
+
/**
|
|
55
|
+
* All of the particle systems added to this scene
|
|
56
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/particles/particle_system/particle_system_intro
|
|
57
|
+
*/
|
|
58
|
+
particleSystems: IParticleSystem[];
|
|
59
|
+
/**
|
|
60
|
+
* Gets a list of Animations associated with the scene
|
|
61
|
+
*/
|
|
62
|
+
animations: Animation[];
|
|
63
|
+
/**
|
|
64
|
+
* All of the animation groups added to this scene
|
|
65
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/animation/groupAnimations
|
|
66
|
+
*/
|
|
67
|
+
animationGroups: AnimationGroup[];
|
|
68
|
+
/**
|
|
69
|
+
* All of the multi-materials added to this scene
|
|
70
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/multiMaterials
|
|
71
|
+
*/
|
|
72
|
+
multiMaterials: MultiMaterial[];
|
|
73
|
+
/**
|
|
74
|
+
* All of the materials added to this scene
|
|
75
|
+
* In the context of a Scene, it is not supposed to be modified manually.
|
|
76
|
+
* Any addition or removal should be done using the addMaterial and removeMaterial Scene methods.
|
|
77
|
+
* Note also that the order of the Material within the array is not significant and might change.
|
|
78
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/materials_introduction
|
|
79
|
+
*/
|
|
80
|
+
materials: Material[];
|
|
81
|
+
/**
|
|
82
|
+
* The list of morph target managers added to the scene
|
|
83
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/dynamicMeshMorph
|
|
84
|
+
*/
|
|
85
|
+
morphTargetManagers: MorphTargetManager[];
|
|
86
|
+
/**
|
|
87
|
+
* The list of geometries used in the scene.
|
|
88
|
+
*/
|
|
89
|
+
geometries: Geometry[];
|
|
90
|
+
/**
|
|
91
|
+
* All of the transform nodes added to this scene
|
|
92
|
+
* In the context of a Scene, it is not supposed to be modified manually.
|
|
93
|
+
* Any addition or removal should be done using the addTransformNode and removeTransformNode Scene methods.
|
|
94
|
+
* Note also that the order of the TransformNode within the array is not significant and might change.
|
|
95
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/transforms/parent_pivot/transform_node
|
|
96
|
+
*/
|
|
97
|
+
transformNodes: TransformNode[];
|
|
98
|
+
/**
|
|
99
|
+
* ActionManagers available on the scene.
|
|
100
|
+
* @deprecated
|
|
101
|
+
*/
|
|
102
|
+
actionManagers: AbstractActionManager[];
|
|
103
|
+
/**
|
|
104
|
+
* Textures to keep.
|
|
105
|
+
*/
|
|
106
|
+
textures: BaseTexture[];
|
|
107
|
+
/** @internal */
|
|
108
|
+
protected _environmentTexture: Nullable<BaseTexture>;
|
|
109
|
+
/**
|
|
110
|
+
* Texture used in all pbr material as the reflection texture.
|
|
111
|
+
* As in the majority of the scene they are the same (exception for multi room and so on),
|
|
112
|
+
* this is easier to reference from here than from all the materials.
|
|
113
|
+
*/
|
|
114
|
+
get environmentTexture(): Nullable<BaseTexture>;
|
|
115
|
+
set environmentTexture(value: Nullable<BaseTexture>);
|
|
116
|
+
/**
|
|
117
|
+
* The list of postprocesses added to the scene
|
|
118
|
+
*/
|
|
119
|
+
postProcesses: PostProcess[];
|
|
120
|
+
/**
|
|
121
|
+
* The list of sounds
|
|
122
|
+
*/
|
|
123
|
+
sounds: Nullable<Sound[]>;
|
|
124
|
+
/**
|
|
125
|
+
* The list of effect layers added to the scene
|
|
126
|
+
*/
|
|
127
|
+
effectLayers: EffectLayer[];
|
|
128
|
+
/**
|
|
129
|
+
* The list of layers added to the scene
|
|
130
|
+
*/
|
|
131
|
+
layers: Layer[];
|
|
132
|
+
/**
|
|
133
|
+
* The list of reflection probes added to the scene
|
|
134
|
+
*/
|
|
135
|
+
reflectionProbes: ReflectionProbe[];
|
|
136
|
+
/**
|
|
137
|
+
* The list of lens flare systems added to the scene
|
|
138
|
+
*/
|
|
139
|
+
lensFlareSystems: LensFlareSystem[];
|
|
140
|
+
/**
|
|
141
|
+
* The list of procedural textures added to the scene
|
|
142
|
+
*/
|
|
143
|
+
proceduralTextures: ProceduralTexture[];
|
|
144
|
+
/**
|
|
145
|
+
* @returns all meshes, lights, cameras, transformNodes and bones
|
|
146
|
+
*/
|
|
147
|
+
getNodes(): Array<Node>;
|
|
148
|
+
}
|
|
9
149
|
/**
|
|
10
150
|
* Set of assets to keep when moving a scene into an asset container.
|
|
11
151
|
*/
|
|
12
|
-
export declare class KeepAssets extends
|
|
152
|
+
export declare class KeepAssets extends AbstractAssetContainer {
|
|
13
153
|
}
|
|
14
154
|
/**
|
|
15
155
|
* Class used to store the output of the AssetContainer.instantiateAllMeshesToScene function
|
|
@@ -35,7 +175,7 @@ export declare class InstantiatedEntries {
|
|
|
35
175
|
/**
|
|
36
176
|
* Container with a set of assets that can be added or removed from a scene.
|
|
37
177
|
*/
|
|
38
|
-
export declare class AssetContainer extends
|
|
178
|
+
export declare class AssetContainer extends AbstractAssetContainer {
|
|
39
179
|
private _wasAddedToScene;
|
|
40
180
|
private _onContextRestoredObserver;
|
|
41
181
|
/**
|
package/assetContainer.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AbstractScene } from "./abstractScene.js";
|
|
2
1
|
import { Mesh } from "./Meshes/mesh.js";
|
|
3
2
|
import { TransformNode } from "./Meshes/transformNode.js";
|
|
4
3
|
import { AbstractMesh } from "./Meshes/abstractMesh.js";
|
|
@@ -8,10 +7,137 @@ import { InstancedMesh } from "./Meshes/instancedMesh.js";
|
|
|
8
7
|
import { Light } from "./Lights/light.js";
|
|
9
8
|
import { Camera } from "./Cameras/camera.js";
|
|
10
9
|
import { Tools } from "./Misc/tools.js";
|
|
10
|
+
/**
|
|
11
|
+
* Root class for AssetContainer and KeepAssets
|
|
12
|
+
*/
|
|
13
|
+
export class AbstractAssetContainer {
|
|
14
|
+
constructor() {
|
|
15
|
+
/**
|
|
16
|
+
* Gets the list of root nodes (ie. nodes with no parent)
|
|
17
|
+
*/
|
|
18
|
+
this.rootNodes = [];
|
|
19
|
+
/** All of the cameras added to this scene
|
|
20
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/cameras
|
|
21
|
+
*/
|
|
22
|
+
this.cameras = [];
|
|
23
|
+
/**
|
|
24
|
+
* All of the lights added to this scene
|
|
25
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/lights/lights_introduction
|
|
26
|
+
*/
|
|
27
|
+
this.lights = [];
|
|
28
|
+
/**
|
|
29
|
+
* All of the (abstract) meshes added to this scene
|
|
30
|
+
*/
|
|
31
|
+
this.meshes = [];
|
|
32
|
+
/**
|
|
33
|
+
* The list of skeletons added to the scene
|
|
34
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/bonesSkeletons
|
|
35
|
+
*/
|
|
36
|
+
this.skeletons = [];
|
|
37
|
+
/**
|
|
38
|
+
* All of the particle systems added to this scene
|
|
39
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/particles/particle_system/particle_system_intro
|
|
40
|
+
*/
|
|
41
|
+
this.particleSystems = [];
|
|
42
|
+
/**
|
|
43
|
+
* Gets a list of Animations associated with the scene
|
|
44
|
+
*/
|
|
45
|
+
this.animations = [];
|
|
46
|
+
/**
|
|
47
|
+
* All of the animation groups added to this scene
|
|
48
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/animation/groupAnimations
|
|
49
|
+
*/
|
|
50
|
+
this.animationGroups = [];
|
|
51
|
+
/**
|
|
52
|
+
* All of the multi-materials added to this scene
|
|
53
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/multiMaterials
|
|
54
|
+
*/
|
|
55
|
+
this.multiMaterials = [];
|
|
56
|
+
/**
|
|
57
|
+
* All of the materials added to this scene
|
|
58
|
+
* In the context of a Scene, it is not supposed to be modified manually.
|
|
59
|
+
* Any addition or removal should be done using the addMaterial and removeMaterial Scene methods.
|
|
60
|
+
* Note also that the order of the Material within the array is not significant and might change.
|
|
61
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/materials/using/materials_introduction
|
|
62
|
+
*/
|
|
63
|
+
this.materials = [];
|
|
64
|
+
/**
|
|
65
|
+
* The list of morph target managers added to the scene
|
|
66
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/dynamicMeshMorph
|
|
67
|
+
*/
|
|
68
|
+
this.morphTargetManagers = [];
|
|
69
|
+
/**
|
|
70
|
+
* The list of geometries used in the scene.
|
|
71
|
+
*/
|
|
72
|
+
this.geometries = [];
|
|
73
|
+
/**
|
|
74
|
+
* All of the transform nodes added to this scene
|
|
75
|
+
* In the context of a Scene, it is not supposed to be modified manually.
|
|
76
|
+
* Any addition or removal should be done using the addTransformNode and removeTransformNode Scene methods.
|
|
77
|
+
* Note also that the order of the TransformNode within the array is not significant and might change.
|
|
78
|
+
* @see https://doc.babylonjs.com/features/featuresDeepDive/mesh/transforms/parent_pivot/transform_node
|
|
79
|
+
*/
|
|
80
|
+
this.transformNodes = [];
|
|
81
|
+
/**
|
|
82
|
+
* ActionManagers available on the scene.
|
|
83
|
+
* @deprecated
|
|
84
|
+
*/
|
|
85
|
+
this.actionManagers = [];
|
|
86
|
+
/**
|
|
87
|
+
* Textures to keep.
|
|
88
|
+
*/
|
|
89
|
+
this.textures = [];
|
|
90
|
+
/** @internal */
|
|
91
|
+
this._environmentTexture = null;
|
|
92
|
+
/**
|
|
93
|
+
* The list of postprocesses added to the scene
|
|
94
|
+
*/
|
|
95
|
+
this.postProcesses = [];
|
|
96
|
+
/**
|
|
97
|
+
* The list of sounds
|
|
98
|
+
*/
|
|
99
|
+
this.sounds = null;
|
|
100
|
+
/**
|
|
101
|
+
* The list of effect layers added to the scene
|
|
102
|
+
*/
|
|
103
|
+
this.effectLayers = [];
|
|
104
|
+
/**
|
|
105
|
+
* The list of layers added to the scene
|
|
106
|
+
*/
|
|
107
|
+
this.layers = [];
|
|
108
|
+
/**
|
|
109
|
+
* The list of reflection probes added to the scene
|
|
110
|
+
*/
|
|
111
|
+
this.reflectionProbes = [];
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Texture used in all pbr material as the reflection texture.
|
|
115
|
+
* As in the majority of the scene they are the same (exception for multi room and so on),
|
|
116
|
+
* this is easier to reference from here than from all the materials.
|
|
117
|
+
*/
|
|
118
|
+
get environmentTexture() {
|
|
119
|
+
return this._environmentTexture;
|
|
120
|
+
}
|
|
121
|
+
set environmentTexture(value) {
|
|
122
|
+
this._environmentTexture = value;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* @returns all meshes, lights, cameras, transformNodes and bones
|
|
126
|
+
*/
|
|
127
|
+
getNodes() {
|
|
128
|
+
let nodes = [];
|
|
129
|
+
nodes = nodes.concat(this.meshes);
|
|
130
|
+
nodes = nodes.concat(this.lights);
|
|
131
|
+
nodes = nodes.concat(this.cameras);
|
|
132
|
+
nodes = nodes.concat(this.transformNodes); // dummies
|
|
133
|
+
this.skeletons.forEach((skeleton) => (nodes = nodes.concat(skeleton.bones)));
|
|
134
|
+
return nodes;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
11
137
|
/**
|
|
12
138
|
* Set of assets to keep when moving a scene into an asset container.
|
|
13
139
|
*/
|
|
14
|
-
export class KeepAssets extends
|
|
140
|
+
export class KeepAssets extends AbstractAssetContainer {
|
|
15
141
|
}
|
|
16
142
|
/**
|
|
17
143
|
* Class used to store the output of the AssetContainer.instantiateAllMeshesToScene function
|
|
@@ -52,7 +178,7 @@ export class InstantiatedEntries {
|
|
|
52
178
|
/**
|
|
53
179
|
* Container with a set of assets that can be added or removed from a scene.
|
|
54
180
|
*/
|
|
55
|
-
export class AssetContainer extends
|
|
181
|
+
export class AssetContainer extends AbstractAssetContainer {
|
|
56
182
|
/**
|
|
57
183
|
* Instantiates an AssetContainer.
|
|
58
184
|
* @param scene The scene the AssetContainer belongs to.
|
|
@@ -65,12 +191,7 @@ export class AssetContainer extends AbstractScene {
|
|
|
65
191
|
return;
|
|
66
192
|
}
|
|
67
193
|
this.scene = scene;
|
|
68
|
-
this["sounds"] = [];
|
|
69
|
-
this["effectLayers"] = [];
|
|
70
|
-
this["layers"] = [];
|
|
71
|
-
this["lensFlareSystems"] = [];
|
|
72
194
|
this["proceduralTextures"] = [];
|
|
73
|
-
this["reflectionProbes"] = [];
|
|
74
195
|
scene.onDisposeObservable.add(() => {
|
|
75
196
|
if (!this._wasAddedToScene) {
|
|
76
197
|
this.dispose();
|