Skip to content

Commit

Permalink
Better individual store for fog serialization (#15039)
Browse files Browse the repository at this point in the history
  • Loading branch information
deltakosh authored Apr 27, 2024
1 parent 6454a01 commit ec4a6ea
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 15 deletions.
39 changes: 25 additions & 14 deletions packages/dev/core/src/Loading/Plugins/babylonFileLoader.ts
Original file line number Diff line number Diff line change
Expand Up @@ -959,25 +959,36 @@ SceneLoader.RegisterPlugin({
}

// Fog
if (parsedData.fogMode && parsedData.fogMode !== 0) {
if (parsedData.fogMode !== undefined && parsedData.fogMode !== null) {
scene.fogMode = parsedData.fogMode;
}
if (parsedData.fogColor !== undefined && parsedData.fogColor !== null) {
scene.fogColor = Color3.FromArray(parsedData.fogColor);
}
if (parsedData.fogStart !== undefined && parsedData.fogStart !== null) {
scene.fogStart = parsedData.fogStart;
}
if (parsedData.fogEnd !== undefined && parsedData.fogEnd !== null) {
scene.fogEnd = parsedData.fogEnd;
}
if (parsedData.fogDensity !== undefined && parsedData.fogDensity !== null) {
scene.fogDensity = parsedData.fogDensity;
log += "\tFog mode for scene: ";
switch (scene.fogMode) {
// getters not compiling, so using hardcoded
case 1:
log += "exp\n";
break;
case 2:
log += "exp2\n";
break;
case 3:
log += "linear\n";
break;
}
}
log += "\tFog mode for scene: ";
switch (scene.fogMode) {
case 0:
log += "none\n";
break;
// getters not compiling, so using hardcoded
case 1:
log += "exp\n";
break;
case 2:
log += "exp2\n";
break;
case 3:
log += "linear\n";
break;
}

//Physics
Expand Down
10 changes: 9 additions & 1 deletion packages/dev/core/src/Misc/sceneSerializer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,11 +156,19 @@ export class SceneSerializer {
serializationObject.useRightHandedSystem = scene.useRightHandedSystem;

// Fog
if (scene.fogMode && scene.fogMode !== 0) {
if (scene.fogMode !== undefined && scene.fogMode !== null) {
serializationObject.fogMode = scene.fogMode;
}
if (scene.fogColor !== undefined && scene.fogColor !== null) {
serializationObject.fogColor = scene.fogColor.asArray();
}
if (scene.fogStart !== undefined && scene.fogStart !== null) {
serializationObject.fogStart = scene.fogStart;
}
if (scene.fogEnd !== undefined && scene.fogEnd !== null) {
serializationObject.fogEnd = scene.fogEnd;
}
if (scene.fogDensity !== undefined && scene.fogDensity !== null) {
serializationObject.fogDensity = scene.fogDensity;
}

Expand Down

0 comments on commit ec4a6ea

Please sign in to comment.