babylonjs-editor-tools 5.5.0 → 5.5.1-alpha.0
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/build/index.node.js +2330 -1
- package/build/src/index.js +4 -0
- package/build/src/index.js.map +1 -1
- package/build/src/loading/loader.js +7 -2
- package/build/src/loading/loader.js.map +1 -1
- package/build/src/loading/mesh.js +22 -0
- package/build/src/loading/mesh.js.map +1 -0
- package/build/src/loading/rendering.js +4 -0
- package/build/src/loading/rendering.js.map +1 -1
- package/build/src/loading/transform-node.js +4 -1
- package/build/src/loading/transform-node.js.map +1 -1
- package/build/src/rendering/tools.js +7 -0
- package/build/src/rendering/tools.js.map +1 -1
- package/build/src/rendering/volumetric/pipeline.js +915 -0
- package/build/src/rendering/volumetric/pipeline.js.map +1 -0
- package/build/src/rendering/volumetric/selector.js +525 -0
- package/build/src/rendering/volumetric/selector.js.map +1 -0
- package/build/src/rendering/volumetric/shaders-wgsl.js +1207 -0
- package/build/src/rendering/volumetric/shaders-wgsl.js.map +1 -0
- package/build/src/rendering/volumetric/shaders.js +1293 -0
- package/build/src/rendering/volumetric/shaders.js.map +1 -0
- package/build/src/rendering/volumetric/types.js +301 -0
- package/build/src/rendering/volumetric/types.js.map +1 -0
- package/build/src/rendering/volumetric-lighting.js +72 -0
- package/build/src/rendering/volumetric-lighting.js.map +1 -0
- package/build/src/tools/guards.js +14 -0
- package/build/src/tools/guards.js.map +1 -1
- package/declaration/src/index.d.ts +4 -0
- package/declaration/src/loading/mesh.d.ts +1 -0
- package/declaration/src/rendering/tools.d.ts +1 -0
- package/declaration/src/rendering/volumetric/pipeline.d.ts +231 -0
- package/declaration/src/rendering/volumetric/selector.d.ts +263 -0
- package/declaration/src/rendering/volumetric/shaders-wgsl.d.ts +21 -0
- package/declaration/src/rendering/volumetric/shaders.d.ts +60 -0
- package/declaration/src/rendering/volumetric/types.d.ts +362 -0
- package/declaration/src/rendering/volumetric-lighting.d.ts +28 -0
- package/declaration/src/tools/guards.d.ts +12 -0
- package/package.json +1 -1
package/build/src/index.js
CHANGED
|
@@ -22,7 +22,11 @@ export * from "./rendering/taa";
|
|
|
22
22
|
export * from "./rendering/ssao";
|
|
23
23
|
export * from "./rendering/motion-blur";
|
|
24
24
|
export * from "./rendering/default-pipeline";
|
|
25
|
+
export * from "./rendering/volumetric-lighting";
|
|
25
26
|
export * from "./rendering/tools";
|
|
27
|
+
export * from "./rendering/volumetric/types";
|
|
28
|
+
export * from "./rendering/volumetric/selector";
|
|
29
|
+
export * from "./rendering/volumetric/pipeline";
|
|
26
30
|
export * from "./decorators/scene";
|
|
27
31
|
export * from "./decorators/gui";
|
|
28
32
|
export * from "./decorators/sound";
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mBAAmB,CAAC;AAElC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,UAAU,CAAC;AAEzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAE5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAEhC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAEhD,cAAc,mBAAmB,CAAC;AAElC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAEhD,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,UAAU,CAAC;AAEzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,4BAA4B,CAAC"}
|
|
@@ -10,15 +10,16 @@ import { configurePhysicsAggregate } from "./physics";
|
|
|
10
10
|
import { applyRenderingConfigurations } from "./rendering";
|
|
11
11
|
import { _applyScriptsForObject } from "./script/apply";
|
|
12
12
|
import { _preloadScriptsAssets } from "./script/preload";
|
|
13
|
+
import { registerMeshParser } from "./mesh";
|
|
13
14
|
import { registerAudioParser } from "./sound";
|
|
14
15
|
import { registerTextureParser } from "./texture";
|
|
16
|
+
import { registerSpriteMapParser } from "./sprite-map";
|
|
15
17
|
import { registerShadowGeneratorParser } from "./shadows";
|
|
18
|
+
import { configureTransformNodes } from "./transform-node";
|
|
16
19
|
import { registerSpriteManagerParser } from "./sprite-manager";
|
|
17
20
|
import { registerMorphTargetManagerParser } from "./morph-target-manager";
|
|
18
21
|
import { registerNodeParticleSystemSetParser } from "./node-particle-system-set";
|
|
19
22
|
import { configureLights } from "./light";
|
|
20
|
-
import { registerSpriteMapParser } from "./sprite-map";
|
|
21
|
-
import { configureTransformNodes } from "./transform-node";
|
|
22
23
|
const sceneConfigurationMap = new Map();
|
|
23
24
|
async function waitForWaitingItems(scene, onProgress) {
|
|
24
25
|
const waitingItemsCount = scene.getWaitingItemsCount();
|
|
@@ -40,6 +41,7 @@ export async function loadScene(rootUrl, sceneFilename, scene, scriptsMap, optio
|
|
|
40
41
|
scene.loadingTexturesQuality = options?.texturesQuality ?? scene.loadingQuality;
|
|
41
42
|
scene.loadingShadowsQuality = options?.shadowsQuality ?? scene.loadingQuality;
|
|
42
43
|
scene.loadingLodsQuality = options?.lodsQuality ?? scene.loadingQuality;
|
|
44
|
+
registerMeshParser();
|
|
43
45
|
registerAudioParser();
|
|
44
46
|
registerTextureParser();
|
|
45
47
|
registerShadowGeneratorParser();
|
|
@@ -107,6 +109,9 @@ export async function loadScene(rootUrl, sceneFilename, scene, scriptsMap, optio
|
|
|
107
109
|
scene.lights.forEach((light) => {
|
|
108
110
|
_applyScriptsForObject(scene, light, scriptsMap, rootUrl);
|
|
109
111
|
});
|
|
112
|
+
clusteredLightContainer.lights.forEach((light) => {
|
|
113
|
+
_applyScriptsForObject(scene, light, scriptsMap, rootUrl);
|
|
114
|
+
});
|
|
110
115
|
scene.cameras.forEach((camera) => {
|
|
111
116
|
_applyScriptsForObject(scene, camera, scriptsMap, rootUrl);
|
|
112
117
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/loading/loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAG5E,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,qCAAqC,EAAE,MAAM,eAAe,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,qCAAqC,EAAE,MAAM,gBAAgB,CAAC;AAItG,OAAO,EAAE,oCAAoC,EAAuC,MAAM,oBAAoB,CAAC;AAE/G,OAAO,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/loading/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AddParser } from "@babylonjs/core/Loading/Plugins/babylonFileParser.function";
|
|
2
|
+
let registered = false;
|
|
3
|
+
export function registerMeshParser() {
|
|
4
|
+
if (registered) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
registered = true;
|
|
8
|
+
AddParser("MeshEditorPlugin", (parsedData, _scene, container, _rootUrl) => {
|
|
9
|
+
parsedData.meshes?.forEach((mesh) => {
|
|
10
|
+
mesh.instances?.forEach((instanceData) => {
|
|
11
|
+
const instance = container.meshes?.find((m) => m.id === instanceData.id);
|
|
12
|
+
if (!instance) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
if (instanceData.billboardMode !== undefined) {
|
|
16
|
+
instance.billboardMode = instanceData.billboardMode;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=mesh.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mesh.js","sourceRoot":"","sources":["../../../src/loading/mesh.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,4DAA4D,CAAC;AAEvF,IAAI,UAAU,GAAG,KAAK,CAAC;AAEvB,MAAM,UAAU,kBAAkB;IACjC,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO;IACR,CAAC;IACD,UAAU,GAAG,IAAI,CAAC;IAElB,SAAS,CAAC,kBAAkB,EAAE,CAAC,UAAe,EAAE,MAAa,EAAE,SAAyB,EAAE,QAAgB,EAAE,EAAE;QAC7G,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACnC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;gBACxC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACf,OAAO;gBACR,CAAC;gBAED,IAAI,YAAY,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBAC9C,QAAQ,CAAC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;gBACrD,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { taaRenderingPipelineCameraConfigurations } from "../rendering/taa";
|
|
|
4
4
|
import { ssaoRenderingPipelineCameraConfigurations } from "../rendering/ssao";
|
|
5
5
|
import { motionBlurPostProcessCameraConfigurations } from "../rendering/motion-blur";
|
|
6
6
|
import { defaultPipelineCameraConfigurations } from "../rendering/default-pipeline";
|
|
7
|
+
import { volumetricLightingRenderingPipelineCameraConfigurations } from "../rendering/volumetric-lighting";
|
|
7
8
|
export function applyRenderingConfigurations(scene, rendering) {
|
|
8
9
|
const postProcessConfigurations = Array.isArray(rendering) ? rendering : [];
|
|
9
10
|
postProcessConfigurations.forEach((configuration) => {
|
|
@@ -23,6 +24,9 @@ export function applyRenderingConfigurations(scene, rendering) {
|
|
|
23
24
|
if (configuration.motionBlurPostProcess) {
|
|
24
25
|
motionBlurPostProcessCameraConfigurations.set(camera, configuration.motionBlurPostProcess);
|
|
25
26
|
}
|
|
27
|
+
if (configuration.volumetricLightingRenderingPipeline) {
|
|
28
|
+
volumetricLightingRenderingPipelineCameraConfigurations.set(camera, configuration.volumetricLightingRenderingPipeline);
|
|
29
|
+
}
|
|
26
30
|
if (configuration.defaultRenderingPipeline) {
|
|
27
31
|
defaultPipelineCameraConfigurations.set(camera, configuration.defaultRenderingPipeline);
|
|
28
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rendering.js","sourceRoot":"","sources":["../../../src/loading/rendering.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,wCAAwC,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,wCAAwC,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,yCAAyC,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,yCAAyC,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,mCAAmC,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"rendering.js","sourceRoot":"","sources":["../../../src/loading/rendering.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,wCAAwC,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,wCAAwC,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,yCAAyC,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,yCAAyC,EAAE,MAAM,0BAA0B,CAAC;AACrF,OAAO,EAAE,mCAAmC,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,uDAAuD,EAAE,MAAM,kCAAkC,CAAC;AAE3G,MAAM,UAAU,4BAA4B,CAAC,KAAY,EAAE,SAAc;IACxE,MAAM,yBAAyB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5E,yBAAyB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,OAAO;QACR,CAAC;QAED,IAAI,aAAa,CAAC,sBAAsB,EAAE,CAAC;YAC1C,yCAAyC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,aAAa,CAAC,cAAc,EAAE,CAAC;YAClC,kCAAkC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC;YACxC,wCAAwC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,aAAa,CAAC,qBAAqB,EAAE,CAAC;YACzC,yCAAyC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;QAC5F,CAAC;QAED,IAAI,aAAa,CAAC,mCAAmC,EAAE,CAAC;YACvD,uDAAuD,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,mCAAmC,CAAC,CAAC;QACxH,CAAC;QAED,IAAI,aAAa,CAAC,wBAAwB,EAAE,CAAC;YAC5C,mCAAmC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC;YACxC,wCAAwC,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC1F,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh";
|
|
1
2
|
import { isAbstractMesh, isTransformNode } from "../tools/guards";
|
|
2
3
|
export function configureTransformNodes(scene) {
|
|
3
4
|
const computedMaterials = new Set();
|
|
@@ -8,7 +9,9 @@ export function configureTransformNodes(scene) {
|
|
|
8
9
|
descendants.push(transformNode);
|
|
9
10
|
descendants.forEach((node) => {
|
|
10
11
|
if (isAbstractMesh(node) || (isTransformNode(node) && !node.isWorldMatrixFrozen)) {
|
|
11
|
-
node.
|
|
12
|
+
if (node.billboardMode === AbstractMesh.BILLBOARDMODE_NONE) {
|
|
13
|
+
node.freezeWorldMatrix();
|
|
14
|
+
}
|
|
12
15
|
}
|
|
13
16
|
if (isAbstractMesh(node)) {
|
|
14
17
|
const material = node.material;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform-node.js","sourceRoot":"","sources":["../../../src/loading/transform-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transform-node.js","sourceRoot":"","sources":["../../../src/loading/transform-node.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElE,MAAM,UAAU,uBAAuB,CAAC,KAA6B;IACpE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAY,CAAC;IAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAEzD,KAAK,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;QAC/B,IAAI,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACxD,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAEhC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC5B,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;oBAClF,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY,CAAC,kBAAkB,EAAE,CAAC;wBAC5D,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBAC1B,CAAC;gBACF,CAAC;gBAED,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAC/B,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACxE,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;wBAEhC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE;4BACtC,QAAQ,CAAC,MAAM,EAAE,CAAC;wBACnB,CAAC,CAAC,CAAC;oBACJ,CAAC;gBACF,CAAC;YACF,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { disposeTAARenderingPipeline, parseTAARenderingPipeline, serializeTAARen
|
|
|
4
4
|
import { disposeSSAO2RenderingPipeline, parseSSAO2RenderingPipeline, serializeSSAO2RenderingPipeline, ssaoRenderingPipelineCameraConfigurations } from "./ssao";
|
|
5
5
|
import { disposeMotionBlurPostProcess, motionBlurPostProcessCameraConfigurations, parseMotionBlurPostProcess, serializeMotionBlurPostProcess } from "./motion-blur";
|
|
6
6
|
import { defaultPipelineCameraConfigurations, disposeDefaultRenderingPipeline, parseDefaultRenderingPipeline, serializeDefaultRenderingPipeline } from "./default-pipeline";
|
|
7
|
+
import { disposeVolumetricLightingRenderingPipeline, parseVolumetricLightingRenderingPipeline, serializeVolumetricLightingRenderingPipeline, volumetricLightingRenderingPipelineCameraConfigurations, } from "./volumetric-lighting";
|
|
7
8
|
/**
|
|
8
9
|
* Saves the rendering configurations for the given camera. This is useful to restore the rendering configurations
|
|
9
10
|
* when the camera is re-activated (typically using the preview panel toolbar).
|
|
@@ -14,6 +15,7 @@ export function saveRenderingConfigurationForCamera(camera) {
|
|
|
14
15
|
vlsPostProcessCameraConfigurations.set(camera, serializeVLSPostProcess());
|
|
15
16
|
ssrRenderingPipelineCameraConfigurations.set(camera, serializeSSRRenderingPipeline());
|
|
16
17
|
motionBlurPostProcessCameraConfigurations.set(camera, serializeMotionBlurPostProcess());
|
|
18
|
+
volumetricLightingRenderingPipelineCameraConfigurations.set(camera, serializeVolumetricLightingRenderingPipeline());
|
|
17
19
|
defaultPipelineCameraConfigurations.set(camera, serializeDefaultRenderingPipeline());
|
|
18
20
|
taaRenderingPipelineCameraConfigurations.set(camera, serializeTAARenderingPipeline());
|
|
19
21
|
}
|
|
@@ -29,12 +31,17 @@ export function applyRenderingConfigurationForCamera(camera, rootUrl, options) {
|
|
|
29
31
|
disposeVLSPostProcess(camera.getScene());
|
|
30
32
|
disposeSSRRenderingPipeline();
|
|
31
33
|
disposeMotionBlurPostProcess();
|
|
34
|
+
disposeVolumetricLightingRenderingPipeline();
|
|
32
35
|
disposeDefaultRenderingPipeline();
|
|
33
36
|
disposeTAARenderingPipeline();
|
|
34
37
|
const ssao2RenderingPipeline = ssaoRenderingPipelineCameraConfigurations.get(camera);
|
|
35
38
|
if (ssao2RenderingPipeline && !options?.ssao2Disabled) {
|
|
36
39
|
parseSSAO2RenderingPipeline(camera.getScene(), camera, ssao2RenderingPipeline);
|
|
37
40
|
}
|
|
41
|
+
const volumetricLightingRenderingPipeline = volumetricLightingRenderingPipelineCameraConfigurations.get(camera);
|
|
42
|
+
if (volumetricLightingRenderingPipeline && !options?.volumetricLightingDisabled) {
|
|
43
|
+
parseVolumetricLightingRenderingPipeline(camera.getScene(), camera, volumetricLightingRenderingPipeline);
|
|
44
|
+
}
|
|
38
45
|
const vlsPostProcess = vlsPostProcessCameraConfigurations.get(camera);
|
|
39
46
|
if (vlsPostProcess && !options?.vlsDisabled) {
|
|
40
47
|
parseVLSPostProcess(camera.getScene(), vlsPostProcess);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/rendering/tools.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,kCAAkC,EAAE,MAAM,OAAO,CAAC;AAChI,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,wCAAwC,EAAE,MAAM,OAAO,CAAC;AACxJ,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,6BAA6B,EAAE,wCAAwC,EAAE,MAAM,OAAO,CAAC;AACxJ,OAAO,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,yCAAyC,EAAE,MAAM,QAAQ,CAAC;AAChK,OAAO,EAAE,4BAA4B,EAAE,yCAAyC,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AACpK,OAAO,EAAE,mCAAmC,EAAE,+BAA+B,EAAE,6BAA6B,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/rendering/tools.ts"],"names":[],"mappings":"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"}
|