From 3ffc794682bcef0ac7308f24d0a5df07784d0832 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Mon, 4 Dec 2023 19:48:42 +0100 Subject: [PATCH 01/51] increased detailed of normal map on surface --- src/shaders/telluricPlanetMaterial/fragment.glsl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/shaders/telluricPlanetMaterial/fragment.glsl b/src/shaders/telluricPlanetMaterial/fragment.glsl index 5273a7909..f658e9cce 100644 --- a/src/shaders/telluricPlanetMaterial/fragment.glsl +++ b/src/shaders/telluricPlanetMaterial/fragment.glsl @@ -202,7 +202,7 @@ void main() { const float normalStrengthNear = 0.5; const float normalStrengthFar = 0.2; - const float nearScale = 0.005 * 1000e3; + const float nearScale = 0.1 * 1000e3; const float farScale = 0.00001 * 1000e3; normal = triplanarNormal(vSamplePointScaled, normal, bottomNormalMap, nearScale, normalSharpness, bottomFactor * normalStrengthNear); @@ -223,6 +223,7 @@ void main() { normal = triplanarNormal(vSamplePointScaled, normal, steepNormalMap, nearScale, normalSharpness, steepFactor * normalStrengthNear); normal = triplanarNormal(vSamplePointScaled, normal, steepNormalMap, farScale, normalSharpness, steepFactor * normalStrengthFar); + normal = normalize(normal); vec3 color = steepFactor * steepColor + beachFactor * beachColor From 2edb18f1ad6de308215cc573fa0eddd3b699c0b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Mon, 4 Dec 2023 19:48:56 +0100 Subject: [PATCH 02/51] camera can be moved with mouse for character controller --- src/ts/spacelegs/characterController.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ts/spacelegs/characterController.ts b/src/ts/spacelegs/characterController.ts index a98ebd34f..65cabc5ab 100644 --- a/src/ts/spacelegs/characterController.ts +++ b/src/ts/spacelegs/characterController.ts @@ -16,6 +16,7 @@ import { PhysicsRaycastResult } from "@babylonjs/core/Physics/physicsRaycastResu import { AbstractObject } from "../bodies/abstractObject"; import { Quaternion } from "@babylonjs/core/Maths/math"; import '@babylonjs/core/Collisions/collisionCoordinator'; +import { Mouse } from "../inputs/mouse"; export class CharacterController extends AbstractController { private readonly character: AbstractMesh; @@ -81,6 +82,13 @@ export class CharacterController extends AbstractController { protected override listenTo(input: Input, deltaTime: number): Vector3 { const displacement = Vector3.Zero(); + if (input instanceof Mouse) { + if(input.isLeftButtonPressed()) { + this.thirdPersonCamera.rotatePhi(-input.getDxNormalized() * 300 * deltaTime); + this.thirdPersonCamera.rotateTheta(-input.getDyNormalized() * 300 * deltaTime); + } + input.reset(); + } if (input instanceof Keyboard) { const keyboard = input as Keyboard; const character = this.character; From c70e98507cbb43f1685eaa755a43d7cdcb8b6403 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Mon, 4 Dec 2023 20:16:04 +0100 Subject: [PATCH 03/51] added character animation blending --- src/ts/spacelegs/characterController.ts | 128 +++++++++++++++--------- 1 file changed, 80 insertions(+), 48 deletions(-) diff --git a/src/ts/spacelegs/characterController.ts b/src/ts/spacelegs/characterController.ts index 65cabc5ab..51928ccb4 100644 --- a/src/ts/spacelegs/characterController.ts +++ b/src/ts/spacelegs/characterController.ts @@ -18,21 +18,44 @@ import { Quaternion } from "@babylonjs/core/Maths/math"; import '@babylonjs/core/Collisions/collisionCoordinator'; import { Mouse } from "../inputs/mouse"; +class AnimationGroupWrapper { + name: string; + group: AnimationGroup; + weight: number; + + constructor(name: string, group: AnimationGroup, startingWeight: number) { + this.name = name; + this.weight = startingWeight; + + this.group = group; + this.group.play(true); + this.group.setWeightForAllAnimatables(startingWeight); + } + + moveTowardsWeight(targetWeight: number, deltaTime: number) { + this.weight = Math.min(Math.max(this.weight + deltaTime * Math.sign(targetWeight - this.weight), 0), 1); + this.group.setWeightForAllAnimatables(this.weight); + } +} + export class CharacterController extends AbstractController { private readonly character: AbstractMesh; private readonly thirdPersonCamera: UberOrbitCamera; - private readonly walkAnim: AnimationGroup; - private readonly walkBackAnim: AnimationGroup; - private readonly idleAnim: AnimationGroup; - private readonly sambaAnim: AnimationGroup; - private readonly characterSpeed = 1.8; private readonly characterSpeedBackwards = 1.2; private readonly characterRotationSpeed = 6; private animating = false; + private readonly idleAnim: AnimationGroupWrapper; + private readonly walkAnim: AnimationGroupWrapper; + private readonly walkBackAnim: AnimationGroupWrapper; + private readonly sambaAnim: AnimationGroupWrapper; + private readonly nonIdleAnimations: AnimationGroupWrapper[]; + + private targetAnim: AnimationGroupWrapper | null = null; + private closestWalkableObject: AbstractObject | null = null; private readonly raycastResult = new PhysicsRaycastResult(); @@ -48,19 +71,27 @@ export class CharacterController extends AbstractController { const walkAnim = scene.getAnimationGroupByName("Walking"); if (walkAnim === null) throw new Error("'Walking' animation not found"); - this.walkAnim = walkAnim; const walkBackAnim = scene.getAnimationGroupByName("WalkingBackwards"); if (walkBackAnim === null) throw new Error("'WalkingBackwards' animation not found"); - this.walkBackAnim = walkBackAnim; const idleAnim = scene.getAnimationGroupByName("Idle"); if (idleAnim === null) throw new Error("'Idle' animation not found"); - this.idleAnim = idleAnim; const sambaAnim = scene.getAnimationGroupByName("SambaDancing"); if (sambaAnim === null) throw new Error("'Samba' animation not found"); - this.sambaAnim = sambaAnim; + + this.idleAnim = new AnimationGroupWrapper("idle", idleAnim, 1); + this.walkAnim = new AnimationGroupWrapper("walk", walkAnim, 0); + this.walkBackAnim = new AnimationGroupWrapper("walkBack", walkBackAnim, 0); + this.sambaAnim = new AnimationGroupWrapper("samba", sambaAnim, 0); + this.nonIdleAnimations = [ + this.walkAnim, + this.walkBackAnim, + this.sambaAnim + ] + + this.targetAnim = this.idleAnim; this.thirdPersonCamera = new UberOrbitCamera("camera", new Vector3(0, 1.5, 0), scene, 40, -Math.PI / 4, 1.0); this.thirdPersonCamera.minZ = 1; @@ -91,59 +122,60 @@ export class CharacterController extends AbstractController { } if (input instanceof Keyboard) { const keyboard = input as Keyboard; - const character = this.character; let keydown = false; + + if (this.walkAnim.weight > 0.0) { + this.character.moveWithCollisions(this.character.forward.scaleInPlace(-this.characterSpeed * deltaTime * this.walkAnim.weight)); + } + + if (this.walkBackAnim.weight > 0.0) { + this.character.moveWithCollisions(this.character.forward.scaleInPlace(this.characterSpeedBackwards * deltaTime * this.walkBackAnim.weight)); + } + + const isWalking = this.walkAnim.weight > 0.0 || this.walkBackAnim.weight > 0.0; + + // Translation if (keyboard.isPressed("z") || keyboard.isPressed("w")) { - character.moveWithCollisions(character.forward.scaleInPlace(-this.characterSpeed * deltaTime)); + this.targetAnim = this.walkAnim; keydown = true; - } - if (keyboard.isPressed("s")) { - character.moveWithCollisions(character.forward.scaleInPlace(this.characterSpeedBackwards * deltaTime)); + } else if (keyboard.isPressed("s")) { + this.targetAnim = this.walkBackAnim; keydown = true; } - if (keyboard.isPressed("q") || keyboard.isPressed("a")) { - rotate(character, character.up, this.characterRotationSpeed * deltaTime); + + // Rotation + if ((keyboard.isPressed("q") || keyboard.isPressed("a")) && isWalking) { + this.character.rotate(Vector3.Up(), this.characterRotationSpeed * deltaTime); keydown = true; - } - if (keyboard.isPressed("d")) { - rotate(character, character.up, -this.characterRotationSpeed * deltaTime); + } else if (keyboard.isPressed("d") && isWalking) { + this.character.rotate(Vector3.Up(), -this.characterRotationSpeed * deltaTime); keydown = true; } + + // Samba! if (keyboard.isPressed("b")) { + this.targetAnim = this.sambaAnim; keydown = true; } - character.computeWorldMatrix(true); - - //Manage animations to be played - if (keydown) { - if (!this.animating) { - this.animating = true; - if (keyboard.isPressed("s")) { - //Walk backwards - this.walkBackAnim.start(true, 1, this.walkBackAnim.from, this.walkBackAnim.to, false); - } else if (keyboard.isPressed("b")) { - //Samba! - this.sambaAnim.start(true, 1, this.sambaAnim.from, this.sambaAnim.to, false); - } else { - //Walk - this.walkAnim.start(true, 1, this.walkAnim.from, this.walkAnim.to, true); - } - } - } else { - if (this.animating) { - //Default animation is idle when no key is down - this.idleAnim.start(true, 1, this.idleAnim.from, this.idleAnim.to, false); - - //Stop all animations besides Idle Anim when no key is down - this.sambaAnim.stop(); - this.walkAnim.stop(); - this.walkBackAnim.stop(); - - //Ensure animation are played only once per rendering loop - this.animating = false; + + if (!keydown) { + this.targetAnim = this.idleAnim; + } + + let weightSum = 0; + for (const animation of this.nonIdleAnimations) { + if (animation === this.targetAnim) { + animation.moveTowardsWeight(1, deltaTime); + } else { + animation.moveTowardsWeight(0, deltaTime); } + weightSum += animation.weight; } + this.idleAnim.moveTowardsWeight(Math.min(Math.max(1 - weightSum, 0.0), 1.0), deltaTime); + + this.character.computeWorldMatrix(true); + const cameraRotationSpeed = 0.8 * deltaTime; if (keyboard.isPressed("1")) this.thirdPersonCamera.rotatePhi(cameraRotationSpeed); if (keyboard.isPressed("3")) this.thirdPersonCamera.rotatePhi(-cameraRotationSpeed); From 10d258e0d2fdebcd643310b7ee2aa57104a747bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Mon, 4 Dec 2023 20:16:14 +0100 Subject: [PATCH 04/51] reduced beach sizes --- src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts b/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts index d0bf7c9c3..6c6922862 100644 --- a/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts +++ b/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts @@ -122,7 +122,7 @@ export class TelluricPlanemoMaterial extends ShaderMaterial { desertColor: new Color3(178, 107, 42).scaleInPlace(1 / 255), bottomColor: new Color3(0.5, 0.5, 0.5), - beachSize: 250 + 100 * centeredRand(model.rng, 85), + beachSize: 100 + 50 * centeredRand(model.rng, 85), steepSharpness: 2, normalSharpness: 0.5 }; From 4719cbb784b97ded3a019c6cd8c9617104dc22c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Mon, 4 Dec 2023 20:19:52 +0100 Subject: [PATCH 05/51] improved cloud quality --- src/ts/postProcesses/flatCloudsPostProcess.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ts/postProcesses/flatCloudsPostProcess.ts b/src/ts/postProcesses/flatCloudsPostProcess.ts index 67fbf5b8d..b4c125c12 100644 --- a/src/ts/postProcesses/flatCloudsPostProcess.ts +++ b/src/ts/postProcesses/flatCloudsPostProcess.ts @@ -164,7 +164,7 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost Effect.ShadersStore[`flatCloudsLUTFragmentShader`] = flatCloudLUT; } - const lut = new ProceduralTexture("flatCloudLUT", 2048, "flatCloudsLUT", scene, undefined, false, false); + const lut = new ProceduralTexture("flatCloudLUT", 4096, "flatCloudsLUT", scene, undefined, false, false); lut.setFloat("worleyFrequency", worleyFrequency); lut.setFloat("detailFrequency", detailFrequency); lut.refreshRate = 0; From 094732af33379f79989a4a33a1e2427ebaf130ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Tue, 5 Dec 2023 14:38:19 +0100 Subject: [PATCH 06/51] fixed my math again --- src/shaders/utils/worldFromUV.glsl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/shaders/utils/worldFromUV.glsl b/src/shaders/utils/worldFromUV.glsl index 65970f462..4b5044845 100644 --- a/src/shaders/utils/worldFromUV.glsl +++ b/src/shaders/utils/worldFromUV.glsl @@ -1,10 +1,11 @@ // compute the world position of a pixel from its uv coordinates // This is an evolution from the code found here // https://forum.babylonjs.com/t/pixel-position-in-world-space-from-fragment-postprocess-shader-issue/30232 +// also see https://www.babylonjs-playground.com/#1PHYB0#315 for smaller scale testing // This is a revised version that works with the reverse depth buffer vec3 worldFromUV(vec2 pos, mat4 inverseProjection, mat4 inverseView) { vec4 ndc = vec4(pos.xy * 2.0 - 1.0, 1.0, 1.0); // get ndc position (z = 1 because the depth buffer is reversed) vec4 posVS = inverseProjection * ndc; // unproject the ndc coordinates : we are now in view space if i understand correctly - vec4 posWS = inverseView * vec4(posVS.xyz, 1.0); // then we use inverse view to get to world space, division by w to get actual coordinates - return posWS.xyz / posWS.w; // the coordinates in world space -} \ No newline at end of file + vec4 posWS = inverseView * posVS; // then we use inverse view to get to world space, division by w to get actual coordinates + return posWS.xyz; // the coordinates in world space +} From ded352b8fe7a3223e0ff5fabd9a906ba13c7d86a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Wed, 6 Dec 2023 19:37:43 +0100 Subject: [PATCH 07/51] working on async postprocess creation --- src/ts/cosmosJourneyer.ts | 1 - src/ts/postProcesses/flatCloudsPostProcess.ts | 41 ++++++++++++++----- src/ts/postProcesses/postProcessManager.ts | 24 ++++++----- .../postProcesses/rings/ringsPostProcess.ts | 9 ++-- src/ts/postProcesses/shadowPostProcess.ts | 12 ++++-- .../volumetricCloudsPostProcess.ts | 3 +- src/ts/starSystem/StarSystemView.ts | 9 +++- src/ts/starSystem/starSystemController.ts | 19 +++++---- 8 files changed, 78 insertions(+), 40 deletions(-) diff --git a/src/ts/cosmosJourneyer.ts b/src/ts/cosmosJourneyer.ts index 3c2757325..bf70f642c 100644 --- a/src/ts/cosmosJourneyer.ts +++ b/src/ts/cosmosJourneyer.ts @@ -136,7 +136,6 @@ export class CosmosJourneyer { public init(): void { this.getStarSystemView().init(); - this.getEngine().loadingScreen.hideLoadingUI(); this.getEngine().runRenderLoop(() => { if (this.isPaused()) return; this.getActiveScene().render(); diff --git a/src/ts/postProcesses/flatCloudsPostProcess.ts b/src/ts/postProcesses/flatCloudsPostProcess.ts index b4c125c12..ec5f2604d 100644 --- a/src/ts/postProcesses/flatCloudsPostProcess.ts +++ b/src/ts/postProcesses/flatCloudsPostProcess.ts @@ -26,18 +26,22 @@ export interface CloudUniforms { color: Color3; worleySpeed: number; detailSpeed: number; + internalTime: number; } export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPostProcess { readonly cloudUniforms: CloudUniforms; readonly object: TelluricPlanemo; - readonly lut: ProceduralTexture; - - constructor(name: string, planet: TelluricPlanemo, cloudLayerHeight: number, scene: UberScene, stellarObjects: StellarObject[]) { - + public static async CreateAsync( + name: string, + planet: TelluricPlanemo, + cloudLayerHeight: number, + scene: UberScene, + stellarObjects: StellarObject[] + ): Promise { const shaderName = "flatClouds"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = flatCloudsFragment; } @@ -51,7 +55,8 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost sharpness: 3.5, color: new Color3(0.8, 0.8, 0.8), worleySpeed: 0.0005, - detailSpeed: 0.003 + detailSpeed: 0.003, + internalTime: 0 }; const lut = FlatCloudsPostProcess.CreateLUT(cloudUniforms.frequency, cloudUniforms.detailFrequency, scene); @@ -134,9 +139,7 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost name: "time", type: UniformEnumType.Float, get: () => { - return ( - -this.internalTime % ((2 * Math.PI * gcd(this.cloudUniforms.worleySpeed * 10000, this.cloudUniforms.detailSpeed * 10000)) / this.cloudUniforms.worleySpeed) - ); + return -cloudUniforms.internalTime % ((2 * Math.PI * gcd(cloudUniforms.worleySpeed * 10000, cloudUniforms.detailSpeed * 10000)) / cloudUniforms.worleySpeed); } } ]; @@ -152,15 +155,31 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost } ]; + const postProcess = new FlatCloudsPostProcess(name, shaderName, planet, cloudUniforms, uniforms, samplers, scene); + postProcess.onApplyObservable.add(() => { + cloudUniforms.internalTime += scene.deltaTime * 0.001; + }); + + return postProcess; + } + + private constructor( + name: string, + shaderName: string, + planet: TelluricPlanemo, + cloudUniforms: CloudUniforms, + uniforms: ShaderUniforms, + samplers: ShaderSamplers, + scene: UberScene + ) { super(name, shaderName, uniforms, samplers, scene); this.object = planet; this.cloudUniforms = cloudUniforms; - this.lut = lut; } static CreateLUT(worleyFrequency: number, detailFrequency: number, scene: Scene): ProceduralTexture { - if(Effect.ShadersStore[`flatCloudsLUTFragmentShader`] === undefined) { + if (Effect.ShadersStore[`flatCloudsLUTFragmentShader`] === undefined) { Effect.ShadersStore[`flatCloudsLUTFragmentShader`] = flatCloudLUT; } diff --git a/src/ts/postProcesses/postProcessManager.ts b/src/ts/postProcesses/postProcessManager.ts index 47fde5f93..675c9489b 100644 --- a/src/ts/postProcesses/postProcessManager.ts +++ b/src/ts/postProcesses/postProcessManager.ts @@ -13,7 +13,7 @@ import { BlackHolePostProcess } from "./blackHolePostProcess"; import { GasPlanet } from "../planemos/gasPlanet/gasPlanet"; import { ColorCorrection } from "../uberCore/postProcesses/colorCorrection"; import { makeSplitRenderEffects } from "../utils/extractRelevantPostProcesses"; -import { CloudsPostProcess, VolumetricCloudsPostProcess } from "./volumetricCloudsPostProcess"; +import { CloudsPostProcess } from "./volumetricCloudsPostProcess"; import { StellarObject } from "../stellarObjects/stellarObject"; import { Engine } from "@babylonjs/core/Engines/engine"; import { FxaaPostProcess } from "@babylonjs/core/PostProcesses/fxaaPostProcess"; @@ -178,11 +178,10 @@ export class PostProcessManager { * @param planet A telluric planet * @param stellarObjects An array of stars or black holes */ - public addClouds(planet: TelluricPlanemo, stellarObjects: StellarObject[]) { - const clouds = !Settings.ENABLE_VOLUMETRIC_CLOUDS - ? new FlatCloudsPostProcess(`${planet.name}Clouds`, planet, Settings.CLOUD_LAYER_HEIGHT, this.scene, stellarObjects) - : new VolumetricCloudsPostProcess(`${planet.name}Clouds`, planet, Settings.CLOUD_LAYER_HEIGHT, this.scene, stellarObjects); - this.clouds.push(clouds); + public async addClouds(planet: TelluricPlanemo, stellarObjects: StellarObject[]) { + return FlatCloudsPostProcess.CreateAsync(`${planet.name}Clouds`, planet, Settings.CLOUD_LAYER_HEIGHT, this.scene, stellarObjects).then((clouds) => { + this.clouds.push(clouds); + }); } /** @@ -222,9 +221,10 @@ export class PostProcessManager { * @param body A body * @param stellarObjects An array of stars or black holes */ - public addRings(body: AbstractBody, stellarObjects: StellarObject[]) { - const rings = new RingsPostProcess(body, this.scene, stellarObjects); - this.rings.push(rings); + public async addRings(body: AbstractBody, stellarObjects: StellarObject[]) { + return RingsPostProcess.CreateAsync(body, this.scene, stellarObjects).then((rings) => { + this.rings.push(rings); + }); } /** @@ -291,8 +291,10 @@ export class PostProcessManager { return this.matterJets.find((mj) => mj.object === neutronStar) ?? null; } - public addShadowCaster(body: AbstractBody, stellarObjects: StellarObject[]) { - this.shadows.push(new ShadowPostProcess(body, this.scene, stellarObjects)); + public async addShadowCaster(body: AbstractBody, stellarObjects: StellarObject[]) { + return ShadowPostProcess.CreateAsync(body, this.scene, stellarObjects).then((shadow) => { + this.shadows.push(shadow); + }); } public addLensFlare(stellarObject: StellarObject) { diff --git a/src/ts/postProcesses/rings/ringsPostProcess.ts b/src/ts/postProcesses/rings/ringsPostProcess.ts index 5c8ed73d9..33065cd7c 100644 --- a/src/ts/postProcesses/rings/ringsPostProcess.ts +++ b/src/ts/postProcesses/rings/ringsPostProcess.ts @@ -17,8 +17,7 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce readonly object: AbstractBody; readonly lut: ProceduralTexture; - constructor(body: AbstractBody, scene: UberScene, stellarObjects: StellarObject[]) { - + public static async CreateAsync(body: AbstractBody, scene: UberScene, stellarObjects: StellarObject[]): Promise { const shaderName = "rings"; if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = ringsFragment; @@ -49,7 +48,11 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce } ]; - super(body.name + "Rings", shaderName, uniforms, samplers, scene); + return new RingsPostProcess(body.name + "Rings", shaderName, uniforms, samplers, scene, body, ringsUniforms, lut); + } + + private constructor(name: string, shaderName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, scene: UberScene, body: AbstractBody, ringsUniforms: RingsUniforms, lut: ProceduralTexture) { + super(name, shaderName, uniforms, samplers, scene); this.object = body; this.ringsUniforms = ringsUniforms; diff --git a/src/ts/postProcesses/shadowPostProcess.ts b/src/ts/postProcesses/shadowPostProcess.ts index 6a3eae057..bb4df604d 100644 --- a/src/ts/postProcesses/shadowPostProcess.ts +++ b/src/ts/postProcesses/shadowPostProcess.ts @@ -6,7 +6,7 @@ import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObje import { ObjectPostProcess } from "./objectPostProcess"; import { StellarObject } from "../stellarObjects/stellarObject"; import { Effect } from "@babylonjs/core/Materials/effect"; -import { SamplerEnumType, ShaderUniforms, UniformEnumType } from "../uberCore/postProcesses/types"; +import { SamplerEnumType, ShaderSamplers, ShaderUniforms, UniformEnumType } from "../uberCore/postProcesses/types"; import { PostProcessType } from "./postProcessTypes"; import { RingsUniforms } from "./rings/ringsUniform"; import { RingsPostProcess } from "./rings/ringsPostProcess"; @@ -21,8 +21,7 @@ export class ShadowPostProcess extends UberPostProcess implements ObjectPostProc readonly object: AbstractBody; readonly shadowUniforms: ShadowUniforms; - constructor(body: AbstractBody, scene: UberScene, stellarObjects: StellarObject[]) { - + public static async CreateAsync(body: AbstractBody, scene: UberScene, stellarObjects: StellarObject[]): Promise { const shaderName = "shadow"; if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = shadowFragment; @@ -76,7 +75,12 @@ export class ShadowPostProcess extends UberPostProcess implements ObjectPostProc }); } - super(body.name + "shadow", shaderName, uniforms, samplers, scene); + return new ShadowPostProcess(body.name + "Shadow", body, scene, shaderName, uniforms, samplers, shadowUniforms); + } + + private constructor(name: string, body: AbstractBody, scene: UberScene, shaderName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, shadowUniforms: ShadowUniforms) { + + super(name, shaderName, uniforms, samplers, scene); this.object = body; this.shadowUniforms = shadowUniforms; diff --git a/src/ts/postProcesses/volumetricCloudsPostProcess.ts b/src/ts/postProcesses/volumetricCloudsPostProcess.ts index 2597a8013..c9cf74565 100644 --- a/src/ts/postProcesses/volumetricCloudsPostProcess.ts +++ b/src/ts/postProcesses/volumetricCloudsPostProcess.ts @@ -33,7 +33,8 @@ export class VolumetricCloudsPostProcess extends UberPostProcess implements Obje sharpness: 3.5, color: new Color3(0.8, 0.8, 0.8), worleySpeed: 0.0005, - detailSpeed: 0.003 + detailSpeed: 0.003, + internalTime: 0 }; const uniforms: ShaderUniforms = [ diff --git a/src/ts/starSystem/StarSystemView.ts b/src/ts/starSystem/StarSystemView.ts index 675c4562d..4bccc5389 100644 --- a/src/ts/starSystem/StarSystemView.ts +++ b/src/ts/starSystem/StarSystemView.ts @@ -134,7 +134,10 @@ export class StarSystemView { } init() { - this.getStarSystem().init(100, this.chunkForge); + this.scene.getEngine().loadingScreen.displayLoadingUI(); + this.scene.getEngine().loadingScreen.loadingUIText = `Warping to ${this.getStarSystem().model.getName()}` + + this.getStarSystem().initPositions(100, this.chunkForge); this.ui.createObjectOverlays(this.getStarSystem().getObjects()); const firstBody = this.getStarSystem().getBodies()[0]; @@ -147,7 +150,9 @@ export class StarSystemView { positionNearObject(activeController, firstBody, this.getStarSystem(), firstBody instanceof BlackHole ? 7 : 5); if (activeController instanceof ShipController) activeController.enableWarpDrive(); - this.getStarSystem().initPostProcesses(); + this.getStarSystem().initPostProcesses().then(() => { + this.scene.getEngine().loadingScreen.hideLoadingUI(); + }); } hideUI() { diff --git a/src/ts/starSystem/starSystemController.ts b/src/ts/starSystem/starSystemController.ts index 554b9c887..c27edc896 100644 --- a/src/ts/starSystem/starSystemController.ts +++ b/src/ts/starSystem/starSystemController.ts @@ -258,7 +258,7 @@ export class StarSystemController { /** * Inits the post processes and moves the system forward in time to the current time (it is additive) */ - public init(nbWarmUpUpdates: number, chunkForge: ChunkForge): void { + public initPositions(nbWarmUpUpdates: number, chunkForge: ChunkForge): void { for (const object of this.orbitalObjects) { const displacement = new Vector3(object.model.orbit.radius, 0, 0); const quaternion = getTransformationQuaternion(Vector3.Up(), object.model.orbit.normalToPlane); @@ -276,14 +276,16 @@ export class StarSystemController { /** * Inits the post processes of all the bodies in the system */ - public initPostProcesses() { + public async initPostProcesses() { + const promises: Promise[] = []; + this.postProcessManager.addStarField(this.stellarObjects, this.celestialBodies, this.universeRotation); for (const object of this.orbitalObjects) { for (const postProcess of object.postProcesses) { switch (postProcess) { case PostProcessType.RING: if (!(object instanceof AbstractBody)) throw new Error("Rings post process can only be added to bodies. Source:" + object.name); - this.postProcessManager.addRings(object, this.stellarObjects); + promises.push(this.postProcessManager.addRings(object, this.stellarObjects)); break; case PostProcessType.ATMOSPHERE: if (!(object instanceof GasPlanet) && !(object instanceof TelluricPlanemo)) @@ -292,7 +294,7 @@ export class StarSystemController { break; case PostProcessType.CLOUDS: if (!(object instanceof TelluricPlanemo)) throw new Error("Clouds post process can only be added to telluric planets. Source:" + object.name); - this.postProcessManager.addClouds(object as TelluricPlanemo, this.stellarObjects); + promises.push(this.postProcessManager.addClouds(object as TelluricPlanemo, this.stellarObjects)); break; case PostProcessType.OCEAN: if (!(object instanceof TelluricPlanemo)) throw new Error("Ocean post process can only be added to telluric planets. Source:" + object.name); @@ -315,7 +317,7 @@ export class StarSystemController { this.postProcessManager.addMatterJet(object as NeutronStar); break; case PostProcessType.SHADOW: - this.postProcessManager.addShadowCaster(object as AbstractBody, this.stellarObjects); + promises.push(this.postProcessManager.addShadowCaster(object as AbstractBody, this.stellarObjects)); break; case PostProcessType.LENS_FLARE: this.postProcessManager.addLensFlare(object as StellarObject); @@ -323,8 +325,11 @@ export class StarSystemController { } } } - this.postProcessManager.setBody(this.getNearestCelestialBody(this.scene.getActiveUberCamera().position)); - this.postProcessManager.init(); + + return Promise.all(promises).then(() => { + this.postProcessManager.setBody(this.getNearestCelestialBody(this.scene.getActiveUberCamera().position)); + this.postProcessManager.init(); + }); } /** From b7f557077b2d810102d852ddd65dc368bbf666fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Wed, 6 Dec 2023 19:41:44 +0100 Subject: [PATCH 08/51] added security side effect --- src/ts/starSystem/StarSystemView.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ts/starSystem/StarSystemView.ts b/src/ts/starSystem/StarSystemView.ts index 4bccc5389..c9a9b8ec9 100644 --- a/src/ts/starSystem/StarSystemView.ts +++ b/src/ts/starSystem/StarSystemView.ts @@ -19,6 +19,7 @@ import { ShipController } from "../spaceship/shipController"; import { OrbitRenderer } from "../orbit/orbitRenderer"; import { BlackHole } from "../stellarObjects/blackHole/blackHole"; import { ChunkForge } from "../planemos/telluricPlanemo/terrain/chunks/chunkForge"; +import "@babylonjs/core/Loading/loadingScreen"; export class StarSystemView { private readonly helmetOverlay: HelmetOverlay; From b0485403f740ed8a748ea312b5d26a29df10397b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Wed, 6 Dec 2023 20:41:43 +0100 Subject: [PATCH 09/51] removed useless time uniform for mandelbulb --- src/shaders/mandelbulb.glsl | 2 -- src/ts/postProcesses/mandelbulbPostProcess.ts | 7 ------- 2 files changed, 9 deletions(-) diff --git a/src/shaders/mandelbulb.glsl b/src/shaders/mandelbulb.glsl index ad51b1e62..10f1411d0 100644 --- a/src/shaders/mandelbulb.glsl +++ b/src/shaders/mandelbulb.glsl @@ -4,8 +4,6 @@ precision highp float; varying vec2 vUV; -uniform float time; - uniform float power; uniform vec3 accentColor; diff --git a/src/ts/postProcesses/mandelbulbPostProcess.ts b/src/ts/postProcesses/mandelbulbPostProcess.ts index 57338ca4b..be1e61bc0 100644 --- a/src/ts/postProcesses/mandelbulbPostProcess.ts +++ b/src/ts/postProcesses/mandelbulbPostProcess.ts @@ -31,13 +31,6 @@ export class MandelbulbPostProcess extends UberPostProcess implements ObjectPost ...getObjectUniforms(mandelbulb), ...getStellarObjectsUniforms(stellarObjects), ...getActiveCameraUniforms(scene), - { - name: "time", - type: UniformEnumType.Float, - get: () => { - return this.internalTime % (settings.rotationPeriod * 10000); - } - }, { name: "power", type: UniformEnumType.Float, From 6fb8f940101caaadd24c1ecfe0073e9f484d67b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Wed, 6 Dec 2023 20:42:26 +0100 Subject: [PATCH 10/51] removed internaltime from uberpostprocess It is replaced by an update observable that can give the deltatime --- src/ts/postProcesses/blackHolePostProcess.ts | 18 ++++++++++-------- src/ts/postProcesses/flatCloudsPostProcess.ts | 10 +++++----- src/ts/postProcesses/matterJetPostProcess.ts | 14 ++++++++------ src/ts/postProcesses/oceanPostProcess.ts | 10 ++++++++-- .../volumetricCloudsPostProcess.ts | 2 +- .../uberCore/postProcesses/uberPostProcess.ts | 5 +++-- src/ts/ui/bodyEditor/panels/blackholePanel.ts | 4 ++-- 7 files changed, 37 insertions(+), 26 deletions(-) diff --git a/src/ts/postProcesses/blackHolePostProcess.ts b/src/ts/postProcesses/blackHolePostProcess.ts index fb48e1e99..e673f3dfa 100644 --- a/src/ts/postProcesses/blackHolePostProcess.ts +++ b/src/ts/postProcesses/blackHolePostProcess.ts @@ -10,13 +10,14 @@ import { UniformEnumType, ShaderSamplers, ShaderUniforms, SamplerEnumType } from import { Matrix, Quaternion } from "@babylonjs/core/Maths/math"; import { BlackHole } from "../stellarObjects/blackHole/blackHole"; -export type BlackHoleSettings = { +export type BlackHoleUniforms = { accretionDiskRadius: number; rotationPeriod: number; + time: number; }; export class BlackHolePostProcess extends UberPostProcess implements ObjectPostProcess { - readonly settings: BlackHoleSettings; + readonly blackHoleUniforms: BlackHoleUniforms; readonly object: BlackHole; constructor(blackHole: BlackHole, scene: UberScene, starfieldRotation: Quaternion) { @@ -26,9 +27,10 @@ export class BlackHolePostProcess extends UberPostProcess implements ObjectPostP Effect.ShadersStore[`${shaderName}FragmentShader`] = blackHoleFragment; } - const settings: BlackHoleSettings = { + const blackHoleUniforms: BlackHoleUniforms = { accretionDiskRadius: blackHole.model.physicalProperties.accretionDiskRadius, - rotationPeriod: 1.5 + rotationPeriod: 1.5, + time: 0 }; const uniforms: ShaderUniforms = [ @@ -47,21 +49,21 @@ export class BlackHolePostProcess extends UberPostProcess implements ObjectPostP name: "time", type: UniformEnumType.Float, get: () => { - return this.internalTime % (settings.rotationPeriod * 10000); + return blackHoleUniforms.time % (blackHoleUniforms.rotationPeriod * 10000); } }, { name: "accretionDiskRadius", type: UniformEnumType.Float, get: () => { - return settings.accretionDiskRadius; + return blackHoleUniforms.accretionDiskRadius; } }, { name: "rotationPeriod", type: UniformEnumType.Float, get: () => { - return settings.rotationPeriod; + return blackHoleUniforms.rotationPeriod; } }, { @@ -94,6 +96,6 @@ export class BlackHolePostProcess extends UberPostProcess implements ObjectPostP super(blackHole.name, shaderName, uniforms, samplers, scene); this.object = blackHole; - this.settings = settings; + this.blackHoleUniforms = blackHoleUniforms; } } diff --git a/src/ts/postProcesses/flatCloudsPostProcess.ts b/src/ts/postProcesses/flatCloudsPostProcess.ts index ec5f2604d..9e0518038 100644 --- a/src/ts/postProcesses/flatCloudsPostProcess.ts +++ b/src/ts/postProcesses/flatCloudsPostProcess.ts @@ -26,7 +26,7 @@ export interface CloudUniforms { color: Color3; worleySpeed: number; detailSpeed: number; - internalTime: number; + time: number; } export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPostProcess { @@ -56,7 +56,7 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost color: new Color3(0.8, 0.8, 0.8), worleySpeed: 0.0005, detailSpeed: 0.003, - internalTime: 0 + time: 0 }; const lut = FlatCloudsPostProcess.CreateLUT(cloudUniforms.frequency, cloudUniforms.detailFrequency, scene); @@ -139,7 +139,7 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost name: "time", type: UniformEnumType.Float, get: () => { - return -cloudUniforms.internalTime % ((2 * Math.PI * gcd(cloudUniforms.worleySpeed * 10000, cloudUniforms.detailSpeed * 10000)) / cloudUniforms.worleySpeed); + return -cloudUniforms.time % ((2 * Math.PI * gcd(cloudUniforms.worleySpeed * 10000, cloudUniforms.detailSpeed * 10000)) / cloudUniforms.worleySpeed); } } ]; @@ -156,8 +156,8 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost ]; const postProcess = new FlatCloudsPostProcess(name, shaderName, planet, cloudUniforms, uniforms, samplers, scene); - postProcess.onApplyObservable.add(() => { - cloudUniforms.internalTime += scene.deltaTime * 0.001; + postProcess.onUpdatedObservable.add((deltaTime: number) => { + cloudUniforms.time += deltaTime; }); return postProcess; diff --git a/src/ts/postProcesses/matterJetPostProcess.ts b/src/ts/postProcesses/matterJetPostProcess.ts index 6acf28ff7..bac0d4dc5 100644 --- a/src/ts/postProcesses/matterJetPostProcess.ts +++ b/src/ts/postProcesses/matterJetPostProcess.ts @@ -8,16 +8,17 @@ import { ObjectPostProcess } from "./objectPostProcess"; import { UniformEnumType, ShaderSamplers, ShaderUniforms } from "../uberCore/postProcesses/types"; import { BaseObject } from "../bodies/common"; -export interface MatterJetSettings { +export interface MatterJetUniforms { // the rotation period in seconds of the matter jet rotationPeriod: number; + time: number; } /** * Post process for rendering matter jets that are used by neutron stars for example */ export class MatterJetPostProcess extends UberPostProcess implements ObjectPostProcess { - settings: MatterJetSettings; + matterJetUniforms: MatterJetUniforms; object: BaseObject; constructor(name: string, stellarObject: StellarObject, scene: UberScene) { @@ -27,8 +28,9 @@ export class MatterJetPostProcess extends UberPostProcess implements ObjectPostP Effect.ShadersStore[`${shaderName}FragmentShader`] = matterJetFragment; } - const settings: MatterJetSettings = { - rotationPeriod: 1.5 + const settings: MatterJetUniforms = { + rotationPeriod: 1.5, + time: 0 }; const uniforms: ShaderUniforms = [ @@ -38,7 +40,7 @@ export class MatterJetPostProcess extends UberPostProcess implements ObjectPostP name: "time", type: UniformEnumType.Float, get: () => { - return this.internalTime % (settings.rotationPeriod * 10000); + return settings.time % (settings.rotationPeriod * 10000); } }, { @@ -62,6 +64,6 @@ export class MatterJetPostProcess extends UberPostProcess implements ObjectPostP super(name, shaderName, uniforms, samplers, scene); this.object = stellarObject; - this.settings = settings; + this.matterJetUniforms = settings; } } diff --git a/src/ts/postProcesses/oceanPostProcess.ts b/src/ts/postProcesses/oceanPostProcess.ts index c320764bf..60a062bc1 100644 --- a/src/ts/postProcesses/oceanPostProcess.ts +++ b/src/ts/postProcesses/oceanPostProcess.ts @@ -18,6 +18,7 @@ export type OceanUniforms = { depthModifier: number; alphaModifier: number; waveBlendingSharpness: number; + time: number; }; export class OceanPostProcess extends UberPostProcess implements ObjectPostProcess { @@ -37,7 +38,8 @@ export class OceanPostProcess extends UberPostProcess implements ObjectPostProce alphaModifier: 0.001, specularPower: 1.0, smoothness: 0.9, - waveBlendingSharpness: 0.1 + waveBlendingSharpness: 0.1, + time: 0 }; const uniforms: ShaderUniforms = [ @@ -99,7 +101,7 @@ export class OceanPostProcess extends UberPostProcess implements ObjectPostProce get: () => { //TODO: do not hardcode the 100000 // use rotating time offset to prevent float imprecision and distant artifacts - return this.internalTime % 100000; + return oceanUniforms.time % 100000; } } ]; @@ -126,5 +128,9 @@ export class OceanPostProcess extends UberPostProcess implements ObjectPostProce this.object = planet; this.oceanUniforms = oceanUniforms; + + this.onUpdatedObservable.add((deltaTime: number) => { + this.oceanUniforms.time += deltaTime; + }); } } diff --git a/src/ts/postProcesses/volumetricCloudsPostProcess.ts b/src/ts/postProcesses/volumetricCloudsPostProcess.ts index c9cf74565..856a4105c 100644 --- a/src/ts/postProcesses/volumetricCloudsPostProcess.ts +++ b/src/ts/postProcesses/volumetricCloudsPostProcess.ts @@ -34,7 +34,7 @@ export class VolumetricCloudsPostProcess extends UberPostProcess implements Obje color: new Color3(0.8, 0.8, 0.8), worleySpeed: 0.0005, detailSpeed: 0.003, - internalTime: 0 + time: 0 }; const uniforms: ShaderUniforms = [ diff --git a/src/ts/uberCore/postProcesses/uberPostProcess.ts b/src/ts/uberCore/postProcesses/uberPostProcess.ts index 9687e4bb8..97548a141 100644 --- a/src/ts/uberCore/postProcesses/uberPostProcess.ts +++ b/src/ts/uberCore/postProcesses/uberPostProcess.ts @@ -6,6 +6,7 @@ import { Texture } from "@babylonjs/core/Materials/Textures/texture"; import { PostProcess } from "@babylonjs/core/PostProcesses/postProcess"; import { UpdatablePostProcess } from "../../postProcesses/objectPostProcess"; import { UniformEnumType, ShaderSamplers, ShaderUniforms, SamplerEnumType } from "./types"; +import { Observable } from "@babylonjs/core/Misc/observable"; /** * A wrapper around BabylonJS post processes that allows more predictable and easier to use uniforms @@ -14,7 +15,7 @@ export abstract class UberPostProcess extends PostProcess implements UpdatablePo private readonly uniforms: ShaderUniforms = []; private readonly samplers: ShaderSamplers = []; - protected internalTime = 0; + readonly onUpdatedObservable = new Observable(); protected constructor(name: string, fragmentName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, scene: UberScene) { const uniformNames = uniforms.map((uniform) => uniform.name); @@ -86,6 +87,6 @@ export abstract class UberPostProcess extends PostProcess implements UpdatablePo } public update(deltaTime: number) { - this.internalTime += deltaTime; + this.onUpdatedObservable.notifyObservers(deltaTime); } } diff --git a/src/ts/ui/bodyEditor/panels/blackholePanel.ts b/src/ts/ui/bodyEditor/panels/blackholePanel.ts index 78175a2a8..5a6763740 100644 --- a/src/ts/ui/bodyEditor/panels/blackholePanel.ts +++ b/src/ts/ui/bodyEditor/panels/blackholePanel.ts @@ -11,8 +11,8 @@ export class BlackholePanel extends EditorPanel { for (const slider of this.sliders) slider.remove(); this.sliders = [ - new Slider("diskRadius", document.getElementById("diskRadius") as HTMLElement, 0e3, 1000, blackHole.settings.accretionDiskRadius / 1e5, (val: number) => { - blackHole.settings.accretionDiskRadius = val * 1e5; + new Slider("diskRadius", document.getElementById("diskRadius") as HTMLElement, 0e3, 1000, blackHole.blackHoleUniforms.accretionDiskRadius / 1e5, (val: number) => { + blackHole.blackHoleUniforms.accretionDiskRadius = val * 1e5; }) ]; } From df69ff0f0b11c823829dc9f57ae7741c75da6e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 7 Dec 2023 15:00:04 +0100 Subject: [PATCH 11/51] working on WebGPU compatibility --- src/shaders/oceanFragment.glsl | 109 ++++++++++++++------------------- 1 file changed, 47 insertions(+), 62 deletions(-) diff --git a/src/shaders/oceanFragment.glsl b/src/shaders/oceanFragment.glsl index e738f118d..eb9b5808e 100644 --- a/src/shaders/oceanFragment.glsl +++ b/src/shaders/oceanFragment.glsl @@ -1,4 +1,4 @@ -precision lowp float; +precision highp float; /* disable_uniformity_analysis */ @@ -41,89 +41,74 @@ uniform float time; #include "./utils/computeSpecularHighlight.glsl"; -#define inline -vec4 oceanColor(vec4 originalColor, vec3 rayOrigin, vec3 rayDir, float maximumDistance) { - float impactPoint, escapePoint; - - float waveAmplitude = 20.0; - float waveOmega = 1.0/7.0; +void main() { + vec4 screenColor = texture2D(textureSampler, vUV);// the current screen color - float actualRadius = ocean_radius + waveAmplitude * sin(time * waveOmega); + float depth = texture2D(depthSampler, vUV).r;// the depth corresponding to the pixel in the depth map - if (!(rayIntersectSphere(rayOrigin, rayDir, object_position, actualRadius, impactPoint, escapePoint))) { - return originalColor;// if not intersecting with atmosphere, return original color - } + vec3 pixelWorldPosition = worldFromUV(vUV, camera_inverseProjection, camera_inverseView);// the pixel position in world space (near plane) - impactPoint = max(0.0, impactPoint);// cannot be negative (the ray starts where the camera is in such a case) - escapePoint = min(maximumDistance, escapePoint);// occlusion with other scene objects + // actual depth of the scene + float maximumDistance = length(pixelWorldPosition - camera_position) * remap(depth, 0.0, 1.0, camera_near, camera_far); - float distanceThroughOcean = max(0.0, escapePoint - impactPoint);// probably doesn't need the max but for the sake of coherence the distance cannot be negative + vec3 rayDir = normalize(pixelWorldPosition - camera_position);// normalized direction of the ray - if (distanceThroughOcean <= 0.0) return originalColor; + vec4 finalColor = screenColor; - vec3 samplePoint = rayOrigin + impactPoint * rayDir - object_position; + float waveAmplitude = 20.0; + float waveOmega = 1.0/7.0; + float actualRadius = ocean_radius + waveAmplitude * sin(time * waveOmega); - vec3 samplePointPlanetSpace = applyQuaternion(planetInverseRotationQuaternion, samplePoint); + float impactPoint, escapePoint; + if (rayIntersectSphere(camera_position, rayDir, object_position, actualRadius, impactPoint, escapePoint) && impactPoint < maximumDistance) { + impactPoint = max(0.0, impactPoint);// cannot be negative (the ray starts where the camera is in such a case) + escapePoint = min(maximumDistance, escapePoint);// occlusion with other scene objects - vec3 unitSamplePoint = normalize(samplePointPlanetSpace); + float distanceThroughOcean = max(0.0, escapePoint - impactPoint);// probably doesn't need the max but for the sake of coherence the distance cannot be negative - vec3 planetNormal = normalize(samplePoint); + vec3 samplePoint = camera_position + impactPoint * rayDir - object_position; - vec3 normalWave = triplanarNormal(samplePointPlanetSpace + vec3(time, time, -time) * 100.0, planetNormal, normalMap2, 0.00015, ocean_waveBlendingSharpness, 1.0); - normalWave = triplanarNormal(samplePointPlanetSpace + vec3(-time, time, -time) * 100.0, normalWave, normalMap1, 0.0001, ocean_waveBlendingSharpness, 1.0); + vec3 samplePointPlanetSpace = applyQuaternion(planetInverseRotationQuaternion, samplePoint); + vec3 unitSamplePoint = normalize(samplePointPlanetSpace); + vec3 planetNormal = normalize(samplePoint); - normalWave = triplanarNormal(samplePointPlanetSpace + vec3(time, -time, -time) * 300.0, normalWave, normalMap1, 0.000025, ocean_waveBlendingSharpness, 0.5); - normalWave = triplanarNormal(samplePointPlanetSpace + vec3(-time, -time, time) * 300.0, normalWave, normalMap2, 0.00002, ocean_waveBlendingSharpness, 0.5); + vec3 normalWave = triplanarNormal(samplePointPlanetSpace + vec3(time, time, -time) * 100.0, planetNormal, normalMap2, 0.00015, ocean_waveBlendingSharpness, 1.0); + normalWave = triplanarNormal(samplePointPlanetSpace + vec3(-time, time, -time) * 100.0, normalWave, normalMap1, 0.0001, ocean_waveBlendingSharpness, 1.0); - normalWave = triplanarNormal(samplePointPlanetSpace + vec3(time, -time, -time) * 500.0, normalWave, normalMap2, 0.000010, ocean_waveBlendingSharpness, 0.5); - normalWave = triplanarNormal(samplePointPlanetSpace + vec3(-time, -time, time) * 500.0, normalWave, normalMap1, 0.000005, ocean_waveBlendingSharpness, 0.5); + normalWave = triplanarNormal(samplePointPlanetSpace + vec3(time, -time, -time) * 300.0, normalWave, normalMap1, 0.000025, ocean_waveBlendingSharpness, 0.5); + normalWave = triplanarNormal(samplePointPlanetSpace + vec3(-time, -time, time) * 300.0, normalWave, normalMap2, 0.00002, ocean_waveBlendingSharpness, 0.5); - float opticalDepth01 = 1.0 - exp(-distanceThroughOcean * ocean_depthModifier); - float alpha = exp(-distanceThroughOcean * ocean_alphaModifier); + normalWave = triplanarNormal(samplePointPlanetSpace + vec3(time, -time, -time) * 500.0, normalWave, normalMap2, 0.000010, ocean_waveBlendingSharpness, 0.5); + normalWave = triplanarNormal(samplePointPlanetSpace + vec3(-time, -time, time) * 500.0, normalWave, normalMap1, 0.000005, ocean_waveBlendingSharpness, 0.5); - //vec3 oceanColor = lerp(vec3(10.0, 100.0, 249.0)/255.0, vec3(15.0,94.0,156.0)/255.0, opticalDepth01); + float opticalDepth01 = 1.0 - exp(-distanceThroughOcean * ocean_depthModifier); + float alpha = exp(-distanceThroughOcean * ocean_alphaModifier); - vec3 deepColor = vec3(0.0, 22.0, 82.0)/255.0; - vec3 shallowColor = vec3(32.0, 193.0, 180.0)/255.0; - vec3 oceanColor = mix(shallowColor, deepColor, opticalDepth01) * star_colors[0]; + vec3 deepColor = vec3(0.0, 22.0, 82.0)/255.0; + vec3 shallowColor = vec3(32.0, 193.0, 180.0)/255.0; + vec3 oceanColor = mix(shallowColor, deepColor, opticalDepth01) * star_colors[0]; - vec3 ambiant = mix(oceanColor, originalColor.rgb, alpha); + vec3 ambiant = mix(oceanColor, screenColor.rgb, alpha); - float foamSize = 30.0; - float foamFactor = saturate((foamSize - distanceThroughOcean) / foamSize); - vec3 foamColor = vec3(0.8); - ambiant = mix(ambiant, foamColor, foamFactor); + float foamSize = 30.0; + float foamFactor = saturate((foamSize - distanceThroughOcean) / foamSize); + vec3 foamColor = vec3(0.8); + ambiant = mix(ambiant, foamColor, foamFactor); - vec3 finalColor = vec3(0.0); - for (int i = 0; i < nbStars; i++) { - vec3 sunDir = normalize(star_positions[i] - samplePoint); + finalColor.rgb = vec3(0.0); + for (int i = 0; i < nbStars; i++) { + vec3 sunDir = normalize(star_positions[i] - samplePoint); - float ndl = max(dot(planetNormal, sunDir), 0.0); - finalColor += ambiant * ndl; + float ndl = max(dot(planetNormal, sunDir), 0.0); + finalColor.rgb += ambiant * ndl; - if (length(rayOrigin - object_position) > ocean_radius) { - // if above ocean surface then specular highlight - finalColor += computeSpecularHighlight(sunDir, rayDir, normalWave, ocean_smoothness, ocean_specularPower) * star_colors[i]; + if (length(camera_position - object_position) > ocean_radius) { + // if above ocean surface then specular highlight + finalColor.rgb += computeSpecularHighlight(sunDir, rayDir, normalWave, ocean_smoothness, ocean_specularPower) * star_colors[i]; + } } } - return vec4(finalColor, 1.0); -} - -void main() { - vec4 screenColor = texture2D(textureSampler, vUV);// the current screen color - - float depth = texture2D(depthSampler, vUV).r;// the depth corresponding to the pixel in the depth map - - vec3 pixelWorldPosition = worldFromUV(vUV, camera_inverseProjection, camera_inverseView);// the pixel position in world space (near plane) - - // actual depth of the scene - float maximumDistance = length(pixelWorldPosition - camera_position) * remap(depth, 0.0, 1.0, camera_near, camera_far); - - vec3 rayDir = normalize(pixelWorldPosition - camera_position);// normalized direction of the ray - - vec4 finalColor = oceanColor(screenColor, camera_position, rayDir, maximumDistance); - - gl_FragColor = finalColor;// displaying the final color + gl_FragColor = finalColor; } \ No newline at end of file From d3800f7206956131ef2a1a2c6a93ca6ce4981f4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 7 Dec 2023 22:03:34 +0100 Subject: [PATCH 12/51] nbStars uniforms is now imported --- src/shaders/atmosphericScatteringFragment.glsl | 2 -- src/shaders/flatCloudsFragment.glsl | 2 -- src/shaders/mandelbulb.glsl | 1 - src/shaders/oceanFragment.glsl | 1 - src/shaders/ringsFragment.glsl | 2 -- src/shaders/shadowFragment.glsl | 1 - src/shaders/sierpinski.glsl | 1 - src/shaders/utils/stars.glsl | 4 ++-- src/shaders/utils/worldFromUV.glsl | 2 +- src/shaders/volumetricCloudsFragment.glsl | 1 - 10 files changed, 3 insertions(+), 14 deletions(-) diff --git a/src/shaders/atmosphericScatteringFragment.glsl b/src/shaders/atmosphericScatteringFragment.glsl index 09abb470a..4e198e7e7 100644 --- a/src/shaders/atmosphericScatteringFragment.glsl +++ b/src/shaders/atmosphericScatteringFragment.glsl @@ -14,8 +14,6 @@ uniform sampler2D depthSampler;// the depth map of the camera uniform sampler2D atmosphereLUT; -uniform int nbStars;// number of stars - #include "./utils/stars.glsl"; #include "./utils/camera.glsl"; diff --git a/src/shaders/flatCloudsFragment.glsl b/src/shaders/flatCloudsFragment.glsl index c1563b8cf..b3df72e67 100644 --- a/src/shaders/flatCloudsFragment.glsl +++ b/src/shaders/flatCloudsFragment.glsl @@ -10,8 +10,6 @@ uniform sampler2D depthSampler;// the depth map of the camera uniform sampler2D lut; -uniform int nbStars;// number of stars - #include "./utils/stars.glsl"; #include "./utils/camera.glsl"; diff --git a/src/shaders/mandelbulb.glsl b/src/shaders/mandelbulb.glsl index 10f1411d0..1091e12f8 100644 --- a/src/shaders/mandelbulb.glsl +++ b/src/shaders/mandelbulb.glsl @@ -7,7 +7,6 @@ varying vec2 vUV; uniform float power; uniform vec3 accentColor; -uniform int nbStars;// number of stars #include "./utils/stars.glsl"; uniform sampler2D textureSampler; diff --git a/src/shaders/oceanFragment.glsl b/src/shaders/oceanFragment.glsl index eb9b5808e..efae94157 100644 --- a/src/shaders/oceanFragment.glsl +++ b/src/shaders/oceanFragment.glsl @@ -11,7 +11,6 @@ uniform sampler2D normalMap2; #include "./utils/camera.glsl"; -uniform int nbStars;// number of stars #include "./utils/stars.glsl"; #include "./utils/object.glsl"; diff --git a/src/shaders/ringsFragment.glsl b/src/shaders/ringsFragment.glsl index a50633da3..045f901de 100644 --- a/src/shaders/ringsFragment.glsl +++ b/src/shaders/ringsFragment.glsl @@ -9,8 +9,6 @@ uniform sampler2D depthSampler;// the depth map of the camera uniform sampler2D ringsLUT; -uniform int nbStars;// number of stars - #include "./utils/stars.glsl"; #include "./utils/camera.glsl"; diff --git a/src/shaders/shadowFragment.glsl b/src/shaders/shadowFragment.glsl index e5b8d04ed..5809ac9e1 100644 --- a/src/shaders/shadowFragment.glsl +++ b/src/shaders/shadowFragment.glsl @@ -9,7 +9,6 @@ uniform sampler2D depthSampler;// the depth map of the camera uniform sampler2D ringsLUT; -uniform int nbStars;// number of stars #include "./utils/stars.glsl"; #include "./utils/camera.glsl"; diff --git a/src/shaders/sierpinski.glsl b/src/shaders/sierpinski.glsl index 2ed0a41e0..0f9c11a92 100644 --- a/src/shaders/sierpinski.glsl +++ b/src/shaders/sierpinski.glsl @@ -10,7 +10,6 @@ uniform float planetRadius; uniform float power; uniform vec3 accentColor; -uniform int nbStars;// number of stars #include "./utils/stars.glsl"; uniform sampler2D textureSampler; diff --git a/src/shaders/utils/stars.glsl b/src/shaders/utils/stars.glsl index 2e659082a..91c4f79a3 100644 --- a/src/shaders/utils/stars.glsl +++ b/src/shaders/utils/stars.glsl @@ -1,5 +1,5 @@ #define MAX_STARS 5 uniform vec3 star_positions[MAX_STARS]; -uniform float star_radiuses[MAX_STARS]; -uniform vec3 star_colors[MAX_STARS]; \ No newline at end of file +uniform vec3 star_colors[MAX_STARS]; +uniform int nbStars;// number of stars \ No newline at end of file diff --git a/src/shaders/utils/worldFromUV.glsl b/src/shaders/utils/worldFromUV.glsl index 4b5044845..1967bdca4 100644 --- a/src/shaders/utils/worldFromUV.glsl +++ b/src/shaders/utils/worldFromUV.glsl @@ -1,7 +1,7 @@ // compute the world position of a pixel from its uv coordinates // This is an evolution from the code found here // https://forum.babylonjs.com/t/pixel-position-in-world-space-from-fragment-postprocess-shader-issue/30232 -// also see https://www.babylonjs-playground.com/#1PHYB0#315 for smaller scale testing +// also see https://www.babylonjs-playground.com/#1PHYB0#318 for smaller scale testing // This is a revised version that works with the reverse depth buffer vec3 worldFromUV(vec2 pos, mat4 inverseProjection, mat4 inverseView) { vec4 ndc = vec4(pos.xy * 2.0 - 1.0, 1.0, 1.0); // get ndc position (z = 1 because the depth buffer is reversed) diff --git a/src/shaders/volumetricCloudsFragment.glsl b/src/shaders/volumetricCloudsFragment.glsl index 01ae43461..3180ab1e6 100644 --- a/src/shaders/volumetricCloudsFragment.glsl +++ b/src/shaders/volumetricCloudsFragment.glsl @@ -10,7 +10,6 @@ varying vec2 vUV;// screen coordinates uniform sampler2D textureSampler;// the original screen texture uniform sampler2D depthSampler;// the depth map of the camera -uniform int nbStars;// number of stars #include "./utils/stars.glsl"; #include "./utils/camera.glsl"; From 4940e33d9c5c750a1761083092ae797de29911d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 7 Dec 2023 22:04:47 +0100 Subject: [PATCH 13/51] made playground more general purpose The physics spaceship has been moved to its own endpoint --- src/ts/physicSpaceship.ts | 170 ++++++++++++++++++ src/ts/playground.ts | 214 ++++++++--------------- src/ts/postProcesses/oceanPostProcess.ts | 9 +- src/ts/postProcesses/uniforms.ts | 14 +- src/ts/uberCore/uberScene.ts | 7 +- webpack.config.js | 13 +- 6 files changed, 269 insertions(+), 158 deletions(-) create mode 100644 src/ts/physicSpaceship.ts diff --git a/src/ts/physicSpaceship.ts b/src/ts/physicSpaceship.ts new file mode 100644 index 000000000..1934db608 --- /dev/null +++ b/src/ts/physicSpaceship.ts @@ -0,0 +1,170 @@ +import { Engine } from "@babylonjs/core/Engines/engine"; +import { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; +import { Vector3 } from "@babylonjs/core/Maths/math.vector"; +import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; +import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; +import { HemisphericLight } from "@babylonjs/core/Lights/hemisphericLight"; +import "@babylonjs/core/Materials/standardMaterial"; +import "@babylonjs/core/Loading/loadingScreen"; + +import { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator"; +import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; +import "@babylonjs/core/Engines/Extensions/engine.cubeTexture"; + +import "@babylonjs/core/Physics/physicsEngineComponent"; +import { HavokPlugin } from "@babylonjs/core/Physics/v2/Plugins/havokPlugin"; +import HavokPhysics from "@babylonjs/havok"; +import { PhysicsShapeType } from "@babylonjs/core/Physics/v2/IPhysicsEnginePlugin"; +import { PhysicsAggregate } from "@babylonjs/core/Physics/v2/physicsAggregate"; + +import "../styles/index.scss"; +import { Assets } from "./assets"; +import { PhysicsViewer } from "@babylonjs/core/Debug/physicsViewer"; +import { Spaceship } from "./spaceshipExtended/spaceship"; +import { TelluricPlanemoModel } from "./planemos/telluricPlanemo/telluricPlanemoModel"; +import { TelluricPlanemo } from "./planemos/telluricPlanemo/telluricPlanemo"; +import { UberScene } from "./uberCore/uberScene"; +import { Settings } from "./settings"; +import { translate } from "./uberCore/transforms/basicTransform"; +import { StarModel } from "./stellarObjects/star/starModel"; +import { Keyboard } from "./inputs/keyboard"; +import { Star } from "./stellarObjects/star/star"; +import { ChunkForge } from "./planemos/telluricPlanemo/terrain/chunks/chunkForge"; + +const canvas = document.getElementById("renderer") as HTMLCanvasElement; +canvas.width = window.innerWidth; +canvas.height = window.innerHeight; + +const engine = new Engine(canvas); + +const scene = new UberScene(engine); +scene.useRightHandedSystem = true; + +await Assets.Init(scene); + +const havokInstance = await HavokPhysics(); +const havokPlugin = new HavokPlugin(true, havokInstance); +scene.enablePhysics(Vector3.Zero(), havokPlugin); + +// This creates and positions a free camera (non-mesh) +const camera = new ArcRotateCamera("camera", -Math.PI / 4, 1.0, 40, Vector3.Zero(), scene); +camera.setTarget(Vector3.Zero()); +camera.attachControl(canvas, true); +camera.minZ = 1; +camera.maxZ = Settings.EARTH_RADIUS * 5; + +const light = new DirectionalLight("dir01", new Vector3(1, -2, -1), scene); +light.position = new Vector3(5, 5, 5).scaleInPlace(10); +light.parent = camera; + +const hemiLight = new HemisphericLight("hemiLight", new Vector3(0, 1, 0), scene); +hemiLight.intensity = 0.2; + +const shadowGenerator = new ShadowGenerator(1024, light); +shadowGenerator.useBlurExponentialShadowMap = true; + +const chunkForge = new ChunkForge(Settings.VERTEX_RESOLUTION); + +const keyboard = new Keyboard(); + +const sphere = MeshBuilder.CreateSphere("sphere", { diameter: 2, segments: 32 }, scene); +sphere.position.y = 4; +sphere.position.x = 4; +sphere.material = Assets.DebugMaterial("sphere", true); +shadowGenerator.addShadowCaster(sphere); + +const box = MeshBuilder.CreateBox("box", { size: 2 }, scene); +box.position.y = 4; +box.position.x = -4; +box.material = Assets.DebugMaterial("box", true); +shadowGenerator.addShadowCaster(box); + +const spaceship = new Spaceship(scene, [keyboard]); +spaceship.instanceRoot.position.y = 8; +shadowGenerator.addShadowCaster(spaceship.instanceRoot); + +camera.setTarget(spaceship.instanceRoot); + +const capsule = MeshBuilder.CreateCapsule("capsule", { radius: 0.6, height: 2 }, scene); +capsule.position.y = 4; +capsule.position.x = -4; +capsule.position.z = 4; +capsule.material = Assets.DebugMaterial("capsule", true); +capsule.visibility = 0.5; +shadowGenerator.addShadowCaster(capsule); + +const auroraModel = new StarModel(984); +const aurora = new Star("Aurora", scene, auroraModel); +aurora.getTransform().setAbsolutePosition(new Vector3(0, aurora.getRadius() * 10.0, aurora.getRadius() * 40.0)); + +const newtonModel = new TelluricPlanemoModel(152); +const newton = new TelluricPlanemo("newton", scene, newtonModel); +newton.getTransform().setAbsolutePosition(new Vector3(0, -newtonModel.radius - 10e3, 0)); +newton.updateLOD(camera.globalPosition, chunkForge); + +const viewer = new PhysicsViewer(); + +const sphereAggregate = new PhysicsAggregate(sphere, PhysicsShapeType.SPHERE, { mass: 1, restitution: 0.75 }, scene); +const boxAggregate = new PhysicsAggregate(box, PhysicsShapeType.BOX, { mass: 1, restitution: 0.2 }, scene); +const capsuleAggregate = new PhysicsAggregate(capsule, PhysicsShapeType.CAPSULE, { mass: 1, restitution: 0.2 }, scene); +capsuleAggregate.body.setMassProperties({ inertia: Vector3.Zero(), mass: 1 }); +spaceship.initPhysics(scene); + +// add impulse to box +boxAggregate.body.applyImpulse(new Vector3(0, 0, -1), box.getAbsolutePosition()); + +const aggregates = [sphereAggregate, boxAggregate, capsuleAggregate, spaceship.getAggregate(), newton.aggregate]; +for (const aggregate of aggregates) { + aggregate.body.disablePreStep = false; +} +const meshes = [sphere, box, capsule, spaceship.instanceRoot, newton.getTransform()]; + +const fallingAggregates = [sphereAggregate, boxAggregate, capsuleAggregate, spaceship.getAggregate()]; +viewer.showBody(spaceship.getAggregate().body); + +const gravityOrigin = newton.getTransform().getAbsolutePosition(); +const gravity = -9.81; + +let clockSeconds = 0; + +function updateBeforeHavok() { + const deltaTime = engine.getDeltaTime() / 1000; + clockSeconds += deltaTime; + + chunkForge.update(); + + spaceship.update(); + + for (const aggregate of fallingAggregates) { + const mass = aggregate.body.getMassProperties().mass; + if (mass === undefined) throw new Error(`Mass is undefined for ${aggregate.body}`); + const gravityDirection = aggregate.body.getObjectCenterWorld().subtract(gravityOrigin).normalize(); + aggregate.body.applyForce(gravityDirection.scaleInPlace(gravity * mass), aggregate.body.getObjectCenterWorld()); + } + + if (spaceship.getAggregate().transformNode.getAbsolutePosition().length() > 100) { + const displacement = spaceship.getAggregate().transformNode.getAbsolutePosition().negate(); + for (const mesh of meshes) { + translate(mesh, displacement); + } + } + + // planet thingy + newton.updateInternalClock(-deltaTime / 10); + aurora.updateInternalClock(-deltaTime / 10); + + newton.updateLOD(camera.globalPosition, chunkForge); + newton.material.update(camera.globalPosition, [aurora]); +} + +scene.executeWhenReady(() => { + engine.loadingScreen.hideLoadingUI(); + scene.onBeforePhysicsObservable.add(updateBeforeHavok); + engine.runRenderLoop(() => scene.render()); +}); + +window.addEventListener("resize", () => { + engine.resize(); + canvas.width = window.innerWidth; + canvas.height = window.innerHeight; +}); diff --git a/src/ts/playground.ts b/src/ts/playground.ts index 1934db608..41935e009 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -1,170 +1,104 @@ +import "../styles/index.scss"; + import { Engine } from "@babylonjs/core/Engines/engine"; -import { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; +import { Assets } from "./assets"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; +import { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; +import { Scene } from "@babylonjs/core/scene"; import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; -import { HemisphericLight } from "@babylonjs/core/Lights/hemisphericLight"; -import "@babylonjs/core/Materials/standardMaterial"; -import "@babylonjs/core/Loading/loadingScreen"; - -import { ShadowGenerator } from "@babylonjs/core/Lights/Shadows/shadowGenerator"; -import "@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent"; -import "@babylonjs/core/Engines/Extensions/engine.cubeTexture"; - -import "@babylonjs/core/Physics/physicsEngineComponent"; -import { HavokPlugin } from "@babylonjs/core/Physics/v2/Plugins/havokPlugin"; -import HavokPhysics from "@babylonjs/havok"; -import { PhysicsShapeType } from "@babylonjs/core/Physics/v2/IPhysicsEnginePlugin"; -import { PhysicsAggregate } from "@babylonjs/core/Physics/v2/physicsAggregate"; - -import "../styles/index.scss"; -import { Assets } from "./assets"; -import { PhysicsViewer } from "@babylonjs/core/Debug/physicsViewer"; -import { Spaceship } from "./spaceshipExtended/spaceship"; -import { TelluricPlanemoModel } from "./planemos/telluricPlanemo/telluricPlanemoModel"; -import { TelluricPlanemo } from "./planemos/telluricPlanemo/telluricPlanemo"; +import { OceanPostProcess } from "./postProcesses/oceanPostProcess"; +import { Mesh } from "@babylonjs/core/Meshes/mesh"; +import { BaseObject } from "./bodies/common"; +import { PostProcessType } from "./postProcesses/postProcessTypes"; +import { TransformNode } from "@babylonjs/core/Meshes"; import { UberScene } from "./uberCore/uberScene"; -import { Settings } from "./settings"; -import { translate } from "./uberCore/transforms/basicTransform"; -import { StarModel } from "./stellarObjects/star/starModel"; +import { AbstractController } from "./uberCore/abstractController"; +import { UberCamera } from "./uberCore/uberCamera"; +import { Input } from "./inputs/input"; +import { Camera } from "@babylonjs/core/Cameras/camera"; +import { DefaultController } from "./defaultController/defaultController"; +import { Quaternion } from "@babylonjs/core/Maths/math"; +import { Transformable } from "./uberCore/transforms/basicTransform"; import { Keyboard } from "./inputs/keyboard"; -import { Star } from "./stellarObjects/star/star"; -import { ChunkForge } from "./planemos/telluricPlanemo/terrain/chunks/chunkForge"; +import { Mouse } from "./inputs/mouse"; +import { EngineFactory } from "@babylonjs/core"; const canvas = document.getElementById("renderer") as HTMLCanvasElement; canvas.width = window.innerWidth; canvas.height = window.innerHeight; -const engine = new Engine(canvas); +const engine = await EngineFactory.CreateAsync(canvas, {}); +engine.useReverseDepthBuffer = true; const scene = new UberScene(engine); scene.useRightHandedSystem = true; await Assets.Init(scene); -const havokInstance = await HavokPhysics(); -const havokPlugin = new HavokPlugin(true, havokInstance); -scene.enablePhysics(Vector3.Zero(), havokPlugin); - -// This creates and positions a free camera (non-mesh) -const camera = new ArcRotateCamera("camera", -Math.PI / 4, 1.0, 40, Vector3.Zero(), scene); -camera.setTarget(Vector3.Zero()); -camera.attachControl(canvas, true); -camera.minZ = 1; -camera.maxZ = Settings.EARTH_RADIUS * 5; +const defaultController = new DefaultController(scene); +defaultController.addInput(new Keyboard()); +defaultController.addInput(new Mouse(canvas)); +defaultController.getTransform().setAbsolutePosition(new Vector3(0, 0, -10)); +defaultController.getActiveCamera().maxZ = 1e3; +defaultController.speed *= 10; +scene.setActiveController(defaultController); const light = new DirectionalLight("dir01", new Vector3(1, -2, -1), scene); -light.position = new Vector3(5, 5, 5).scaleInPlace(10); -light.parent = camera; - -const hemiLight = new HemisphericLight("hemiLight", new Vector3(0, 1, 0), scene); -hemiLight.intensity = 0.2; - -const shadowGenerator = new ShadowGenerator(1024, light); -shadowGenerator.useBlurExponentialShadowMap = true; - -const chunkForge = new ChunkForge(Settings.VERTEX_RESOLUTION); - -const keyboard = new Keyboard(); - -const sphere = MeshBuilder.CreateSphere("sphere", { diameter: 2, segments: 32 }, scene); -sphere.position.y = 4; -sphere.position.x = 4; -sphere.material = Assets.DebugMaterial("sphere", true); -shadowGenerator.addShadowCaster(sphere); - -const box = MeshBuilder.CreateBox("box", { size: 2 }, scene); -box.position.y = 4; -box.position.x = -4; -box.material = Assets.DebugMaterial("box", true); -shadowGenerator.addShadowCaster(box); -const spaceship = new Spaceship(scene, [keyboard]); -spaceship.instanceRoot.position.y = 8; -shadowGenerator.addShadowCaster(spaceship.instanceRoot); - -camera.setTarget(spaceship.instanceRoot); - -const capsule = MeshBuilder.CreateCapsule("capsule", { radius: 0.6, height: 2 }, scene); -capsule.position.y = 4; -capsule.position.x = -4; -capsule.position.z = 4; -capsule.material = Assets.DebugMaterial("capsule", true); -capsule.visibility = 0.5; -shadowGenerator.addShadowCaster(capsule); - -const auroraModel = new StarModel(984); -const aurora = new Star("Aurora", scene, auroraModel); -aurora.getTransform().setAbsolutePosition(new Vector3(0, aurora.getRadius() * 10.0, aurora.getRadius() * 40.0)); - -const newtonModel = new TelluricPlanemoModel(152); -const newton = new TelluricPlanemo("newton", scene, newtonModel); -newton.getTransform().setAbsolutePosition(new Vector3(0, -newtonModel.radius - 10e3, 0)); -newton.updateLOD(camera.globalPosition, chunkForge); - -const viewer = new PhysicsViewer(); - -const sphereAggregate = new PhysicsAggregate(sphere, PhysicsShapeType.SPHERE, { mass: 1, restitution: 0.75 }, scene); -const boxAggregate = new PhysicsAggregate(box, PhysicsShapeType.BOX, { mass: 1, restitution: 0.2 }, scene); -const capsuleAggregate = new PhysicsAggregate(capsule, PhysicsShapeType.CAPSULE, { mass: 1, restitution: 0.2 }, scene); -capsuleAggregate.body.setMassProperties({ inertia: Vector3.Zero(), mass: 1 }); -spaceship.initPhysics(scene); - -// add impulse to box -boxAggregate.body.applyImpulse(new Vector3(0, 0, -1), box.getAbsolutePosition()); - -const aggregates = [sphereAggregate, boxAggregate, capsuleAggregate, spaceship.getAggregate(), newton.aggregate]; -for (const aggregate of aggregates) { - aggregate.body.disablePreStep = false; +const sphere = MeshBuilder.CreateSphere("sphere", { diameter: 4 }, scene); +sphere.rotationQuaternion = Quaternion.Identity(); + +class MeshWrapper implements BaseObject { + readonly mesh: Mesh; + readonly radius: number; + readonly name: string; + postProcesses: PostProcessType[] = []; + + constructor(mesh: Mesh, radius: number) { + this.name = mesh.name; + this.mesh = mesh; + this.radius = radius; + } + getBoundingRadius(): number { + return this.radius; + } + + getTransform(): TransformNode { + return this.mesh; + } } -const meshes = [sphere, box, capsule, spaceship.instanceRoot, newton.getTransform()]; - -const fallingAggregates = [sphereAggregate, boxAggregate, capsuleAggregate, spaceship.getAggregate()]; -viewer.showBody(spaceship.getAggregate().body); -const gravityOrigin = newton.getTransform().getAbsolutePosition(); -const gravity = -9.81; +class LightWrapper implements Transformable { + readonly light: DirectionalLight; + readonly transform: TransformNode; -let clockSeconds = 0; + constructor(light: DirectionalLight) { + this.light = light; + this.transform = new TransformNode("lightTransform"); + this.transform.position = light.direction.scale(-10); + } -function updateBeforeHavok() { - const deltaTime = engine.getDeltaTime() / 1000; - clockSeconds += deltaTime; - - chunkForge.update(); - - spaceship.update(); - - for (const aggregate of fallingAggregates) { - const mass = aggregate.body.getMassProperties().mass; - if (mass === undefined) throw new Error(`Mass is undefined for ${aggregate.body}`); - const gravityDirection = aggregate.body.getObjectCenterWorld().subtract(gravityOrigin).normalize(); - aggregate.body.applyForce(gravityDirection.scaleInPlace(gravity * mass), aggregate.body.getObjectCenterWorld()); - } - - if (spaceship.getAggregate().transformNode.getAbsolutePosition().length() > 100) { - const displacement = spaceship.getAggregate().transformNode.getAbsolutePosition().negate(); - for (const mesh of meshes) { - translate(mesh, displacement); - } - } + getTransform(): TransformNode { + return this.transform; + } +} - // planet thingy - newton.updateInternalClock(-deltaTime / 10); - aurora.updateInternalClock(-deltaTime / 10); +const wrappedSphere = new MeshWrapper(sphere, 2); +const wrappedLight = new LightWrapper(light); - newton.updateLOD(camera.globalPosition, chunkForge); - newton.material.update(camera.globalPosition, [aurora]); -} +const ocean = new OceanPostProcess("ocean", wrappedSphere, scene, [wrappedLight]); +ocean.oceanUniforms.oceanRadius += 0.2; +ocean.oceanUniforms.alphaModifier = 1; +ocean.oceanUniforms.depthModifier = 1; +defaultController.getActiveCamera().attachPostProcess(ocean); -scene.executeWhenReady(() => { - engine.loadingScreen.hideLoadingUI(); - scene.onBeforePhysicsObservable.add(updateBeforeHavok); - engine.runRenderLoop(() => scene.render()); +scene.onBeforeRenderObservable.add(() => { + defaultController.update(scene.deltaTime / 1000); }); -window.addEventListener("resize", () => { - engine.resize(); - canvas.width = window.innerWidth; - canvas.height = window.innerHeight; +scene.executeWhenReady(() => { + engine.runRenderLoop(() => { + scene.render(); + }); }); diff --git a/src/ts/postProcesses/oceanPostProcess.ts b/src/ts/postProcesses/oceanPostProcess.ts index 60a062bc1..8fad31195 100644 --- a/src/ts/postProcesses/oceanPostProcess.ts +++ b/src/ts/postProcesses/oceanPostProcess.ts @@ -5,11 +5,10 @@ import { Assets } from "../assets"; import { UberScene } from "../uberCore/uberScene"; import { UberPostProcess } from "../uberCore/postProcesses/uberPostProcess"; import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObjectsUniforms } from "./uniforms"; -import { TelluricPlanemo } from "../planemos/telluricPlanemo/telluricPlanemo"; import { ObjectPostProcess } from "./objectPostProcess"; -import { getInverseRotationQuaternion } from "../uberCore/transforms/basicTransform"; +import { getInverseRotationQuaternion, Transformable } from "../uberCore/transforms/basicTransform"; import { UniformEnumType, ShaderSamplers, ShaderUniforms, SamplerEnumType } from "../uberCore/postProcesses/types"; -import { StellarObject } from "../stellarObjects/stellarObject"; +import { BaseObject } from "../bodies/common"; export type OceanUniforms = { oceanRadius: number; @@ -23,9 +22,9 @@ export type OceanUniforms = { export class OceanPostProcess extends UberPostProcess implements ObjectPostProcess { readonly oceanUniforms: OceanUniforms; - readonly object: TelluricPlanemo; + readonly object: BaseObject; - constructor(name: string, planet: TelluricPlanemo, scene: UberScene, stars: StellarObject[]) { + constructor(name: string, planet: BaseObject, scene: UberScene, stars: Transformable[]) { const shaderName = "ocean"; if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { diff --git a/src/ts/postProcesses/uniforms.ts b/src/ts/postProcesses/uniforms.ts index 2f79717e1..48d6abbe6 100644 --- a/src/ts/postProcesses/uniforms.ts +++ b/src/ts/postProcesses/uniforms.ts @@ -2,8 +2,9 @@ import { UberScene } from "../uberCore/uberScene"; import { SamplerEnumType, ShaderSamplers, ShaderUniforms, UniformEnumType } from "../uberCore/postProcesses/types"; import { StellarObject } from "../stellarObjects/stellarObject"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; -import { BaseObject } from "../bodies/common"; +import { BaseObject, BoundingSphere } from "../bodies/common"; import { Star } from "../stellarObjects/star/star"; +import { Transformable } from "../uberCore/transforms/basicTransform"; export function getActiveCameraUniforms(scene: UberScene): ShaderUniforms { return [ @@ -45,22 +46,17 @@ export function getActiveCameraUniforms(scene: UberScene): ShaderUniforms { ]; } -export function getStellarObjectsUniforms(stars: StellarObject[]): ShaderUniforms { +export function getStellarObjectsUniforms(stars: Transformable[]): ShaderUniforms { return [ { name: "star_positions", type: UniformEnumType.Vector3Array, get: () => stars.map(star => star.getTransform().getAbsolutePosition()) }, - { - name: "star_radiuses", - type: UniformEnumType.FloatArray, - get: () => stars.map(star => star.getRadius()) - }, { name: "star_colors", type: UniformEnumType.Vector3Array, - get: () => stars.map(star =>star instanceof Star ? star.model.surfaceColor : Vector3.One()) + get: () => stars.map(star => star instanceof Star ? star.model.surfaceColor : Vector3.One()) }, { name: "nbStars", @@ -70,7 +66,7 @@ export function getStellarObjectsUniforms(stars: StellarObject[]): ShaderUniform ]; } -export function getObjectUniforms(object: BaseObject): ShaderUniforms { +export function getObjectUniforms(object: Transformable & BoundingSphere): ShaderUniforms { return [ { name: "object_position", diff --git a/src/ts/uberCore/uberScene.ts b/src/ts/uberCore/uberScene.ts index b5b40921e..8cc0b161a 100644 --- a/src/ts/uberCore/uberScene.ts +++ b/src/ts/uberCore/uberScene.ts @@ -4,6 +4,7 @@ import { UberCamera } from "./uberCamera"; import { DepthRenderer } from "@babylonjs/core/Rendering/depthRenderer"; import { Engine } from "@babylonjs/core/Engines/engine"; import "@babylonjs/core/Rendering/depthRendererSceneComponent"; +import { Camera } from "@babylonjs/core/Cameras/camera"; export class UberScene extends Scene { activeController: AbstractController | null = null; @@ -22,7 +23,11 @@ export class UberScene extends Scene { public setActiveController(controller: AbstractController) { this.activeController = controller; - this.activeCamera = controller.getActiveCamera(); + this.setActiveCamera(controller.getActiveCamera()); + } + + public setActiveCamera(camera: Camera) { + this.activeCamera = camera; if (this.depthRenderer !== null) { // Remove old depth renderer diff --git a/webpack.config.js b/webpack.config.js index 07e744354..6b7213c90 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -13,8 +13,9 @@ const config = { showcase: "./src/ts/index.ts", random: "./src/ts/randomizer.ts", blackHole: "./src/ts/blackHoleDemo.ts", - playground: "./src/ts/playground.ts", + physicSpaceship: "./src/ts/physicSpaceship.ts", planetWalk: "./src/ts/planetWalk.ts", + playground: "./src/ts/playground.ts", debugAssets: "./src/ts/debugAssets.ts" }, output: { @@ -51,9 +52,9 @@ const config = { }), new HtmlWebpackPlugin({ title: "Playground", - filename: "playground.html", + filename: "physicSpaceship.html", template: path.join(htmlPath, "index.html"), - chunks: ["playground"] + chunks: ["physicSpaceship"] }), new HtmlWebpackPlugin({ title: "Planet Walk", @@ -61,6 +62,12 @@ const config = { template: path.join(htmlPath, "index.html"), chunks: ["planetWalk"] }), + new HtmlWebpackPlugin({ + title: "Playground", + filename: "playground.html", + template: path.join(htmlPath, "index.html"), + chunks: ["playground"] + }), new HtmlWebpackPlugin({ title: "Debug Texture", filename: "debugassets.html", From 29cb7c12f4c96f07919c571f3c979631fb2d591d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 7 Dec 2023 22:08:42 +0100 Subject: [PATCH 14/51] testing ocean postprocess --- src/ts/playground.ts | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/src/ts/playground.ts b/src/ts/playground.ts index 41935e009..825f857a7 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -1,11 +1,8 @@ import "../styles/index.scss"; -import { Engine } from "@babylonjs/core/Engines/engine"; import { Assets } from "./assets"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; -import { ArcRotateCamera } from "@babylonjs/core/Cameras/arcRotateCamera"; import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; -import { Scene } from "@babylonjs/core/scene"; import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; import { OceanPostProcess } from "./postProcesses/oceanPostProcess"; import { Mesh } from "@babylonjs/core/Meshes/mesh"; @@ -13,10 +10,6 @@ import { BaseObject } from "./bodies/common"; import { PostProcessType } from "./postProcesses/postProcessTypes"; import { TransformNode } from "@babylonjs/core/Meshes"; import { UberScene } from "./uberCore/uberScene"; -import { AbstractController } from "./uberCore/abstractController"; -import { UberCamera } from "./uberCore/uberCamera"; -import { Input } from "./inputs/input"; -import { Camera } from "@babylonjs/core/Cameras/camera"; import { DefaultController } from "./defaultController/defaultController"; import { Quaternion } from "@babylonjs/core/Maths/math"; import { Transformable } from "./uberCore/transforms/basicTransform"; @@ -39,15 +32,18 @@ await Assets.Init(scene); const defaultController = new DefaultController(scene); defaultController.addInput(new Keyboard()); defaultController.addInput(new Mouse(canvas)); -defaultController.getTransform().setAbsolutePosition(new Vector3(0, 0, -10)); defaultController.getActiveCamera().maxZ = 1e3; defaultController.speed *= 10; scene.setActiveController(defaultController); const light = new DirectionalLight("dir01", new Vector3(1, -2, -1), scene); -const sphere = MeshBuilder.CreateSphere("sphere", { diameter: 4 }, scene); +const sphereRadius = 200; +const sphere = MeshBuilder.CreateSphere("sphere", { diameter: sphereRadius * 2 }, scene); sphere.rotationQuaternion = Quaternion.Identity(); +sphere.position.z = sphereRadius * 4; + +defaultController.getActiveCamera().maxZ = sphereRadius * 10; class MeshWrapper implements BaseObject { readonly mesh: Mesh; @@ -76,7 +72,7 @@ class LightWrapper implements Transformable { constructor(light: DirectionalLight) { this.light = light; this.transform = new TransformNode("lightTransform"); - this.transform.position = light.direction.scale(-10); + this.transform.position = light.direction.scale(-sphereRadius * 4); } getTransform(): TransformNode { @@ -84,13 +80,11 @@ class LightWrapper implements Transformable { } } -const wrappedSphere = new MeshWrapper(sphere, 2); +const wrappedSphere = new MeshWrapper(sphere, sphereRadius); const wrappedLight = new LightWrapper(light); const ocean = new OceanPostProcess("ocean", wrappedSphere, scene, [wrappedLight]); -ocean.oceanUniforms.oceanRadius += 0.2; -ocean.oceanUniforms.alphaModifier = 1; -ocean.oceanUniforms.depthModifier = 1; +ocean.oceanUniforms.oceanRadius *= 1.2; defaultController.getActiveCamera().attachPostProcess(ocean); scene.onBeforeRenderObservable.add(() => { From 6e5b10a0ca1826fab4f44c3301a8839d236c34c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 7 Dec 2023 22:13:36 +0100 Subject: [PATCH 15/51] added floating origin to playground --- src/ts/playground.ts | 69 ++++++++++++++++++++++++-------------------- 1 file changed, 37 insertions(+), 32 deletions(-) diff --git a/src/ts/playground.ts b/src/ts/playground.ts index 825f857a7..54d163286 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -12,7 +12,7 @@ import { TransformNode } from "@babylonjs/core/Meshes"; import { UberScene } from "./uberCore/uberScene"; import { DefaultController } from "./defaultController/defaultController"; import { Quaternion } from "@babylonjs/core/Maths/math"; -import { Transformable } from "./uberCore/transforms/basicTransform"; +import { Transformable, translate } from "./uberCore/transforms/basicTransform"; import { Keyboard } from "./inputs/keyboard"; import { Mouse } from "./inputs/mouse"; import { EngineFactory } from "@babylonjs/core"; @@ -38,7 +38,7 @@ scene.setActiveController(defaultController); const light = new DirectionalLight("dir01", new Vector3(1, -2, -1), scene); -const sphereRadius = 200; +const sphereRadius = 1000e3; const sphere = MeshBuilder.CreateSphere("sphere", { diameter: sphereRadius * 2 }, scene); sphere.rotationQuaternion = Quaternion.Identity(); sphere.position.z = sphereRadius * 4; @@ -46,38 +46,39 @@ sphere.position.z = sphereRadius * 4; defaultController.getActiveCamera().maxZ = sphereRadius * 10; class MeshWrapper implements BaseObject { - readonly mesh: Mesh; - readonly radius: number; - readonly name: string; - postProcesses: PostProcessType[] = []; - - constructor(mesh: Mesh, radius: number) { - this.name = mesh.name; - this.mesh = mesh; - this.radius = radius; - } - getBoundingRadius(): number { - return this.radius; - } - - getTransform(): TransformNode { - return this.mesh; - } + readonly mesh: Mesh; + readonly radius: number; + readonly name: string; + postProcesses: PostProcessType[] = []; + + constructor(mesh: Mesh, radius: number) { + this.name = mesh.name; + this.mesh = mesh; + this.radius = radius; + } + + getBoundingRadius(): number { + return this.radius; + } + + getTransform(): TransformNode { + return this.mesh; + } } class LightWrapper implements Transformable { - readonly light: DirectionalLight; - readonly transform: TransformNode; - - constructor(light: DirectionalLight) { - this.light = light; - this.transform = new TransformNode("lightTransform"); - this.transform.position = light.direction.scale(-sphereRadius * 4); - } - - getTransform(): TransformNode { - return this.transform; - } + readonly light: DirectionalLight; + readonly transform: TransformNode; + + constructor(light: DirectionalLight) { + this.light = light; + this.transform = new TransformNode("lightTransform"); + this.transform.position = light.direction.scale(-sphereRadius * 4); + } + + getTransform(): TransformNode { + return this.transform; + } } const wrappedSphere = new MeshWrapper(sphere, sphereRadius); @@ -88,7 +89,11 @@ ocean.oceanUniforms.oceanRadius *= 1.2; defaultController.getActiveCamera().attachPostProcess(ocean); scene.onBeforeRenderObservable.add(() => { - defaultController.update(scene.deltaTime / 1000); + defaultController.update(scene.deltaTime / 1000); + if (defaultController.getActiveCamera().getAbsolutePosition().length() > 100) { + sphere.position.subtractInPlace(defaultController.getActiveCamera().getAbsolutePosition()); + translate(defaultController.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); + } }); scene.executeWhenReady(() => { From 5c260c7f16541fac927ca4f5681bb7339982001f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 7 Dec 2023 23:04:46 +0100 Subject: [PATCH 16/51] simplified atmosphere requirements stellar objects don't need to be anything other than Transformables --- src/ts/physicSpaceship.ts | 2 +- .../telluricPlanemo/telluricPlanemo.ts | 3 +- .../telluricPlanemoMaterial.ts | 4 +- src/ts/playground.ts | 71 +++++++++---------- .../atmosphericScatteringPostProcess.ts | 4 +- 5 files changed, 42 insertions(+), 42 deletions(-) diff --git a/src/ts/physicSpaceship.ts b/src/ts/physicSpaceship.ts index 1934db608..a9f595544 100644 --- a/src/ts/physicSpaceship.ts +++ b/src/ts/physicSpaceship.ts @@ -164,7 +164,7 @@ scene.executeWhenReady(() => { }); window.addEventListener("resize", () => { - engine.resize(); + engine.resize(true); canvas.width = window.innerWidth; canvas.height = window.innerHeight; }); diff --git a/src/ts/planemos/telluricPlanemo/telluricPlanemo.ts b/src/ts/planemos/telluricPlanemo/telluricPlanemo.ts index 3452b7ef6..abf3b5868 100644 --- a/src/ts/planemos/telluricPlanemo/telluricPlanemo.ts +++ b/src/ts/planemos/telluricPlanemo/telluricPlanemo.ts @@ -16,6 +16,7 @@ import { Camera } from "@babylonjs/core/Cameras/camera"; import { ChunkTree } from "./terrain/chunks/chunkTree"; import { ChunkForge } from "./terrain/chunks/chunkForge"; import { PhysicsShapeSphere } from "@babylonjs/core/Physics/v2/physicsShape"; +import { Transformable } from "../../uberCore/transforms/basicTransform"; export class TelluricPlanemo extends AbstractBody implements Planemo, PlanemoMaterial { readonly sides: ChunkTree[]; // stores the 6 sides of the sphere @@ -93,7 +94,7 @@ export class TelluricPlanemo extends AbstractBody implements Planemo, PlanemoMat for (const side of this.sides) side.update(observerPosition, chunkForge); } - public updateMaterial(controller: AbstractController, stellarObjects: StellarObject[], deltaTime: number): void { + public updateMaterial(controller: AbstractController, stellarObjects: Transformable[], deltaTime: number): void { this.material.update(controller.getTransform().getAbsolutePosition(), stellarObjects); } diff --git a/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts b/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts index 6c6922862..15a8facbb 100644 --- a/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts +++ b/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts @@ -11,7 +11,7 @@ import { ShaderMaterial } from "@babylonjs/core/Materials/shaderMaterial"; import { Color3 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math"; import { TransformNode } from "@babylonjs/core/Meshes"; -import { getInverseRotationMatrix } from "../../uberCore/transforms/basicTransform"; +import { getInverseRotationMatrix, Transformable } from "../../uberCore/transforms/basicTransform"; import { StellarObject } from "../../stellarObjects/stellarObject"; import { Star } from "../../stellarObjects/star/star"; import { flattenVector3Array } from "../../utils/algebra"; @@ -176,7 +176,7 @@ export class TelluricPlanemoMaterial extends ShaderMaterial { ); } - public update(activeControllerPosition: Vector3, stellarObjects: StellarObject[]) { + public update(activeControllerPosition: Vector3, stellarObjects: Transformable[]) { this.setMatrix("normalMatrix", this.planemoTransform.getWorldMatrix().clone().invert().transpose()); this.setMatrix("planetInverseRotationMatrix", getInverseRotationMatrix(this.planemoTransform)); diff --git a/src/ts/playground.ts b/src/ts/playground.ts index 54d163286..192db7348 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -2,20 +2,21 @@ import "../styles/index.scss"; import { Assets } from "./assets"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; -import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; import { OceanPostProcess } from "./postProcesses/oceanPostProcess"; -import { Mesh } from "@babylonjs/core/Meshes/mesh"; -import { BaseObject } from "./bodies/common"; -import { PostProcessType } from "./postProcesses/postProcessTypes"; import { TransformNode } from "@babylonjs/core/Meshes"; import { UberScene } from "./uberCore/uberScene"; -import { DefaultController } from "./defaultController/defaultController"; -import { Quaternion } from "@babylonjs/core/Maths/math"; import { Transformable, translate } from "./uberCore/transforms/basicTransform"; import { Keyboard } from "./inputs/keyboard"; import { Mouse } from "./inputs/mouse"; import { EngineFactory } from "@babylonjs/core"; +import { AtmosphericScatteringPostProcess } from "./postProcesses/atmosphericScatteringPostProcess"; +import { TelluricPlanemo } from "./planemos/telluricPlanemo/telluricPlanemo"; +import { ChunkForge } from "./planemos/telluricPlanemo/terrain/chunks/chunkForge"; +import HavokPhysics from "@babylonjs/havok"; +import { HavokPlugin } from "@babylonjs/core/Physics/v2/Plugins/havokPlugin"; +import { setMaxLinVel } from "./utils/havok"; +import { DefaultController } from "./defaultController/defaultController"; const canvas = document.getElementById("renderer") as HTMLCanvasElement; canvas.width = window.innerWidth; @@ -27,45 +28,33 @@ engine.useReverseDepthBuffer = true; const scene = new UberScene(engine); scene.useRightHandedSystem = true; +// Init Havok physics engine +const havokInstance = await HavokPhysics(); +const havokPlugin = new HavokPlugin(true, havokInstance); +setMaxLinVel(havokPlugin, 10000, 10000); +console.log(`Havok initialized`); + +scene.enablePhysics(Vector3.Zero(), havokPlugin); + await Assets.Init(scene); +const chunkForge = new ChunkForge(64); + const defaultController = new DefaultController(scene); defaultController.addInput(new Keyboard()); defaultController.addInput(new Mouse(canvas)); defaultController.getActiveCamera().maxZ = 1e3; -defaultController.speed *= 10; +defaultController.speed *= 1000e3; scene.setActiveController(defaultController); const light = new DirectionalLight("dir01", new Vector3(1, -2, -1), scene); const sphereRadius = 1000e3; -const sphere = MeshBuilder.CreateSphere("sphere", { diameter: sphereRadius * 2 }, scene); -sphere.rotationQuaternion = Quaternion.Identity(); -sphere.position.z = sphereRadius * 4; +const sphere = new TelluricPlanemo("sphere", scene, 0.5); +translate(sphere.getTransform(), new Vector3(0, 0, sphereRadius * 4)); defaultController.getActiveCamera().maxZ = sphereRadius * 10; -class MeshWrapper implements BaseObject { - readonly mesh: Mesh; - readonly radius: number; - readonly name: string; - postProcesses: PostProcessType[] = []; - - constructor(mesh: Mesh, radius: number) { - this.name = mesh.name; - this.mesh = mesh; - this.radius = radius; - } - - getBoundingRadius(): number { - return this.radius; - } - - getTransform(): TransformNode { - return this.mesh; - } -} - class LightWrapper implements Transformable { readonly light: DirectionalLight; readonly transform: TransformNode; @@ -81,17 +70,25 @@ class LightWrapper implements Transformable { } } -const wrappedSphere = new MeshWrapper(sphere, sphereRadius); const wrappedLight = new LightWrapper(light); -const ocean = new OceanPostProcess("ocean", wrappedSphere, scene, [wrappedLight]); -ocean.oceanUniforms.oceanRadius *= 1.2; -defaultController.getActiveCamera().attachPostProcess(ocean); +//const ocean = new OceanPostProcess("ocean", sphere, scene, [wrappedLight]); +//defaultController.getActiveCamera().attachPostProcess(ocean); + +const atmosphere = new AtmosphericScatteringPostProcess("atmosphere", sphere, 100e3, scene, [wrappedLight]); +defaultController.getActiveCamera().attachPostProcess(atmosphere); scene.onBeforeRenderObservable.add(() => { - defaultController.update(scene.deltaTime / 1000); + const deltaTime = scene.deltaTime / 1000; + sphere.updateInternalClock(deltaTime); + sphere.computeCulling(defaultController.getActiveCamera()); + sphere.updateLOD(defaultController.getActiveCamera().getAbsolutePosition(), chunkForge); + chunkForge.update(); + sphere.updateMaterial(defaultController, [wrappedLight], deltaTime); + + defaultController.update(scene.deltaTime); if (defaultController.getActiveCamera().getAbsolutePosition().length() > 100) { - sphere.position.subtractInPlace(defaultController.getActiveCamera().getAbsolutePosition()); + translate(sphere.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); translate(defaultController.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); } }); diff --git a/src/ts/postProcesses/atmosphericScatteringPostProcess.ts b/src/ts/postProcesses/atmosphericScatteringPostProcess.ts index 497440fc0..867ee6665 100644 --- a/src/ts/postProcesses/atmosphericScatteringPostProcess.ts +++ b/src/ts/postProcesses/atmosphericScatteringPostProcess.ts @@ -11,6 +11,8 @@ import { GasPlanet } from "../planemos/gasPlanet/gasPlanet"; import { ObjectPostProcess } from "./objectPostProcess"; import { UniformEnumType, ShaderSamplers, ShaderUniforms, SamplerEnumType } from "../uberCore/postProcesses/types"; import { StellarObject } from "../stellarObjects/stellarObject"; +import { BaseObject } from "../bodies/common"; +import { Transformable } from "../uberCore/transforms/basicTransform"; export interface AtmosphereUniforms { atmosphereRadius: number; @@ -29,7 +31,7 @@ export class AtmosphericScatteringPostProcess extends UberPostProcess implements readonly atmosphereUniforms: AtmosphereUniforms; readonly object: TelluricPlanemo | GasPlanet; - constructor(name: string, planet: TelluricPlanemo | GasPlanet, atmosphereHeight: number, scene: UberScene, stellarObjects: StellarObject[]) { + constructor(name: string, planet: GasPlanet | TelluricPlanemo, atmosphereHeight: number, scene: UberScene, stellarObjects: Transformable[]) { const shaderName = "atmosphericScattering"; if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { From a3e66e7d46658bae754db9d8a593d04c84a43732 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 7 Dec 2023 23:08:01 +0100 Subject: [PATCH 17/51] forgot star_radiuses definition --- src/shaders/shadowFragment.glsl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/shaders/shadowFragment.glsl b/src/shaders/shadowFragment.glsl index 5809ac9e1..6af1ac158 100644 --- a/src/shaders/shadowFragment.glsl +++ b/src/shaders/shadowFragment.glsl @@ -10,6 +10,7 @@ uniform sampler2D depthSampler;// the depth map of the camera uniform sampler2D ringsLUT; #include "./utils/stars.glsl"; +float star_radiuses[MAX_STARS]; #include "./utils/camera.glsl"; From fc746e5b1c6a57b164cce55c52e6b49e1185af1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 7 Dec 2023 23:50:20 +0100 Subject: [PATCH 18/51] removed useless render the bug was fixed in the engine. Something weird still occurs on chromium browsers with the shadow postprocess --- package.json | 12 +- pnpm-lock.yaml | 346 +++++++++--------- src/ts/postProcesses/flatCloudsPostProcess.ts | 17 +- .../postProcesses/rings/ringsPostProcess.ts | 11 +- src/ts/postProcesses/shadowPostProcess.ts | 28 +- 5 files changed, 217 insertions(+), 197 deletions(-) diff --git a/package.json b/package.json index 4213ffe87..351d4bb10 100644 --- a/package.json +++ b/package.json @@ -2,12 +2,12 @@ "devDependencies": { "@babel/preset-env": "^7.23.5", "@babel/preset-typescript": "^7.23.3", - "@babylonjs/core": "^6.32.0", - "@babylonjs/gui": "^6.32.0", + "@babylonjs/core": "^6.33.0", + "@babylonjs/gui": "^6.33.0", "@babylonjs/havok": "^1.3.0", - "@babylonjs/loaders": "^6.32.0", + "@babylonjs/loaders": "^6.33.0", "@jest/types": "^29.6.3", - "@types/jest": "^29.5.10", + "@types/jest": "^29.5.11", "@types/seedrandom": "^3.0.8", "@typescript-eslint/eslint-plugin": "^5.62.0", "@typescript-eslint/parser": "^5.62.0", @@ -15,14 +15,14 @@ "babel": "^6.23.0", "babel-jest": "^29.7.0", "css-loader": "^6.8.1", - "eslint": "^8.54.0", + "eslint": "^8.55.0", "eslint-plugin-import": "^2.29.0", "extended-random": "^1.2.2", "fast-simplex-noise": "^4.0.0", "glslify-loader": "^2.0.0", "handle-sliderjs": "^1.3.1", "html-loader": "^4.2.0", - "html-webpack-plugin": "^5.5.3", + "html-webpack-plugin": "^5.5.4", "http-server": "^14.1.1", "jest": "^29.7.0", "jest-transform-stub": "^2.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8dd7f4346..8fa043662 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,32 +12,32 @@ devDependencies: specifier: ^7.23.3 version: 7.23.3(@babel/core@7.23.5) '@babylonjs/core': - specifier: ^6.32.0 - version: 6.32.0 + specifier: ^6.33.0 + version: 6.33.0 '@babylonjs/gui': - specifier: ^6.32.0 - version: 6.32.0(@babylonjs/core@6.32.0) + specifier: ^6.33.0 + version: 6.33.0(@babylonjs/core@6.33.0) '@babylonjs/havok': specifier: ^1.3.0 version: 1.3.0 '@babylonjs/loaders': - specifier: ^6.32.0 - version: 6.32.0(@babylonjs/core@6.32.0)(babylonjs-gltf2interface@6.32.0) + specifier: ^6.33.0 + version: 6.33.0(@babylonjs/core@6.33.0)(babylonjs-gltf2interface@6.33.0) '@jest/types': specifier: ^29.6.3 version: 29.6.3 '@types/jest': - specifier: ^29.5.10 - version: 29.5.10 + specifier: ^29.5.11 + version: 29.5.11 '@types/seedrandom': specifier: ^3.0.8 version: 3.0.8 '@typescript-eslint/eslint-plugin': specifier: ^5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.1.6) + version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.55.0)(typescript@5.1.6) '@typescript-eslint/parser': specifier: ^5.62.0 - version: 5.62.0(eslint@8.54.0)(typescript@5.1.6) + version: 5.62.0(eslint@8.55.0)(typescript@5.1.6) '@webpack-cli/generators': specifier: ^3.0.7 version: 3.0.7(prettier@2.8.8)(webpack-cli@5.1.4)(webpack@5.89.0) @@ -51,11 +51,11 @@ devDependencies: specifier: ^6.8.1 version: 6.8.1(webpack@5.89.0) eslint: - specifier: ^8.54.0 - version: 8.54.0 + specifier: ^8.55.0 + version: 8.55.0 eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0) + version: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint@8.55.0) extended-random: specifier: ^1.2.2 version: 1.2.2 @@ -72,14 +72,14 @@ devDependencies: specifier: ^4.2.0 version: 4.2.0(webpack@5.89.0) html-webpack-plugin: - specifier: ^5.5.3 - version: 5.5.3(webpack@5.89.0) + specifier: ^5.5.4 + version: 5.5.4(webpack@5.89.0) http-server: specifier: ^14.1.1 version: 14.1.1 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.10.1)(ts-node@10.9.1) + version: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) jest-transform-stub: specifier: ^2.0.0 version: 2.0.0 @@ -118,7 +118,7 @@ devDependencies: version: 9.5.1(typescript@5.1.6)(webpack@5.89.0) ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@20.10.1)(typescript@5.1.6) + version: 10.9.1(@types/node@20.10.4)(typescript@5.1.6) ts-shader-loader: specifier: ^2.0.2 version: 2.0.2 @@ -148,8 +148,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@adobe/css-tools@4.3.1: - resolution: {integrity: sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==} + /@adobe/css-tools@4.3.2: + resolution: {integrity: sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==} dev: true /@ampproject/remapping@2.2.1: @@ -226,7 +226,7 @@ packages: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.1 + browserslist: 4.22.2 lru-cache: 5.1.1 semver: 6.3.1 dev: true @@ -1303,7 +1303,7 @@ packages: babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.5) babel-plugin-polyfill-corejs3: 0.8.6(@babel/core@7.23.5) babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.5) - core-js-compat: 3.33.3 + core-js-compat: 3.34.0 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -1381,16 +1381,16 @@ packages: to-fast-properties: 2.0.0 dev: true - /@babylonjs/core@6.32.0: - resolution: {integrity: sha512-2SK6jjMhsPse+aWAgzuNfjVCFEr9ysfVpkgjClW9dKT0WUwS/c7PYmYh8Mcp/A+L7HNIndkLJE2UAlF6PP01fg==} + /@babylonjs/core@6.33.0: + resolution: {integrity: sha512-h7VjM2zemYob8d8ZSlSwH353fKnCXO4YEKjxkzMyl5VKX/i0tgxa22ma6orYknhDEAevxNoglvFAR1VVes84BQ==} dev: true - /@babylonjs/gui@6.32.0(@babylonjs/core@6.32.0): - resolution: {integrity: sha512-N6UVbvEMHT5wrcA81Xqk3e3kuo+wnjIUOWSH6AqUduGYNvVCkmbxlJHOP9D5tuQBICvbWUINDPaSQdoPZRegmQ==} + /@babylonjs/gui@6.33.0(@babylonjs/core@6.33.0): + resolution: {integrity: sha512-gfw5zDnvwhail1aqJ1BSSCNkXicDTFY4z9ma/ZlOy3r9SDWTvIqdiqcTg9zkTEsm05XfjQwrYVjZMtmeKMfClg==} peerDependencies: '@babylonjs/core': ^6.0.0 dependencies: - '@babylonjs/core': 6.32.0 + '@babylonjs/core': 6.33.0 dev: true /@babylonjs/havok@1.3.0: @@ -1399,14 +1399,14 @@ packages: '@types/emscripten': 1.39.10 dev: true - /@babylonjs/loaders@6.32.0(@babylonjs/core@6.32.0)(babylonjs-gltf2interface@6.32.0): - resolution: {integrity: sha512-xxV/ftyji1qgzZgkwUEJFo2d3SYzKukMYWUKVMLJk64yf6kg65PtStyTNZp/ijAR7mitTaPD0UvzhDay4SQ4wA==} + /@babylonjs/loaders@6.33.0(@babylonjs/core@6.33.0)(babylonjs-gltf2interface@6.33.0): + resolution: {integrity: sha512-6l9u4YLHch+yZI04sXA2CS/ivUcnb3GZzGE+f8Me/wU15bs7Hdyorew2Mm9GyJhw1uy/rrlnHVRETrsadf96GQ==} peerDependencies: '@babylonjs/core': ^6.0.0 babylonjs-gltf2interface: ^6.0.0 dependencies: - '@babylonjs/core': 6.32.0 - babylonjs-gltf2interface: 6.32.0 + '@babylonjs/core': 6.33.0 + babylonjs-gltf2interface: 6.33.0 dev: true /@bcoe/v8-coverage@0.2.3: @@ -1432,13 +1432,13 @@ packages: engines: {node: '>=10.0.0'} dev: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.55.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.54.0 + eslint: 8.55.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1447,8 +1447,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.3: - resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -1464,8 +1464,8 @@ packages: - supports-color dev: true - /@eslint/js@8.54.0: - resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==} + /@eslint/js@8.55.0: + resolution: {integrity: sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -1530,7 +1530,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -1551,14 +1551,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.10.1)(ts-node@10.9.1) + jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -1586,7 +1586,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 jest-mock: 29.7.0 dev: true @@ -1613,7 +1613,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.10.1 + '@types/node': 20.10.4 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -1646,7 +1646,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.20 - '@types/node': 20.10.1 + '@types/node': 20.10.4 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -1734,7 +1734,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.10.1 + '@types/node': 20.10.4 '@types/yargs': 17.0.32 chalk: 4.1.2 dev: true @@ -2255,26 +2255,26 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/bonjour@3.5.13: resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} dependencies: - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/connect-history-api-fallback@1.5.4: resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} dependencies: '@types/express-serve-static-core': 4.17.41 - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/emscripten@1.39.10: @@ -2306,7 +2306,7 @@ packages: /@types/express-serve-static-core@4.17.41: resolution: {integrity: sha512-OaJ7XLaelTgrvlZD8/aa0vvvxZdUmlCn6MtWeB7TkiKW70BQLc9XEPpDLPdbo52ZhXUCrznlWdCHWxJWtdyajA==} dependencies: - '@types/node': 20.10.1 + '@types/node': 20.10.4 '@types/qs': 6.9.10 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -2324,7 +2324,7 @@ packages: /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/html-minifier-terser@6.1.0: @@ -2338,7 +2338,7 @@ packages: /@types/http-proxy@1.17.14: resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} dependencies: - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/istanbul-lib-coverage@2.0.6: @@ -2357,8 +2357,8 @@ packages: '@types/istanbul-lib-report': 3.0.3 dev: true - /@types/jest@29.5.10: - resolution: {integrity: sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==} + /@types/jest@29.5.11: + resolution: {integrity: sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==} dependencies: expect: 29.7.0 pretty-format: 29.7.0 @@ -2387,15 +2387,15 @@ packages: /@types/node-forge@1.3.10: resolution: {integrity: sha512-y6PJDYN4xYBxwd22l+OVH35N+1fCYWiuC3aiP2SlXVE6Lo7SS+rSx9r89hLxrP4pn6n1lBGhHJ12pj3F3Mpttw==} dependencies: - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/node@15.14.9: resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==} dev: true - /@types/node@20.10.1: - resolution: {integrity: sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg==} + /@types/node@20.10.4: + resolution: {integrity: sha512-D08YG6rr8X90YB56tSIuBaddy/UXAA9RKJoFvrsnogAum/0pmjkgi4+2nx96A330FmioegBWmEYQ+syqCFaveg==} dependencies: undici-types: 5.26.5 dev: true @@ -2407,13 +2407,13 @@ packages: /@types/postcss-modules-local-by-default@4.0.2: resolution: {integrity: sha512-CtYCcD+L+trB3reJPny+bKWKMzPfxEyQpKIwit7kErnOexf5/faaGpkFy4I5AwbV4hp1sk7/aTg0tt0B67VkLQ==} dependencies: - postcss: 8.4.31 + postcss: 8.4.32 dev: true /@types/postcss-modules-scope@3.0.4: resolution: {integrity: sha512-//ygSisVq9kVI0sqx3UPLzWIMCmtSVrzdljtuaAEJtGoGnpjBikZ2sXO5MpH9SnWX9HRfXxHifDAXcQjupWnIQ==} dependencies: - postcss: 8.4.31 + postcss: 8.4.32 dev: true /@types/qs@6.9.10: @@ -2440,7 +2440,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/serve-index@1.9.4: @@ -2454,13 +2454,13 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/sockjs@0.3.36: resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} dependencies: - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/stack-utils@2.0.3: @@ -2477,7 +2477,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.10.1 + '@types/node': 20.10.4 dev: true /@types/yargs-parser@21.0.3: @@ -2490,7 +2490,7 @@ packages: '@types/yargs-parser': 21.0.3 dev: true - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0)(typescript@5.1.6): + /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.55.0)(typescript@5.1.6): resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2502,12 +2502,12 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.55.0)(typescript@5.1.6) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.54.0)(typescript@5.1.6) - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.1.6) + '@typescript-eslint/type-utils': 5.62.0(eslint@8.55.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.55.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.54.0 + eslint: 8.55.0 graphemer: 1.4.0 ignore: 5.3.0 natural-compare-lite: 1.4.0 @@ -2518,7 +2518,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@5.62.0(eslint@8.54.0)(typescript@5.1.6): + /@typescript-eslint/parser@5.62.0(eslint@8.55.0)(typescript@5.1.6): resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2532,7 +2532,7 @@ packages: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) debug: 4.3.4 - eslint: 8.54.0 + eslint: 8.55.0 typescript: 5.1.6 transitivePeerDependencies: - supports-color @@ -2546,7 +2546,7 @@ packages: '@typescript-eslint/visitor-keys': 5.62.0 dev: true - /@typescript-eslint/type-utils@5.62.0(eslint@8.54.0)(typescript@5.1.6): + /@typescript-eslint/type-utils@5.62.0(eslint@8.55.0)(typescript@5.1.6): resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -2557,9 +2557,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) - '@typescript-eslint/utils': 5.62.0(eslint@8.54.0)(typescript@5.1.6) + '@typescript-eslint/utils': 5.62.0(eslint@8.55.0)(typescript@5.1.6) debug: 4.3.4 - eslint: 8.54.0 + eslint: 8.55.0 tsutils: 3.21.0(typescript@5.1.6) typescript: 5.1.6 transitivePeerDependencies: @@ -2592,19 +2592,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.54.0)(typescript@5.1.6): + /@typescript-eslint/utils@5.62.0(eslint@8.55.0)(typescript@5.1.6): resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.6 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.1.6) - eslint: 8.54.0 + eslint: 8.55.0 eslint-scope: 5.1.1 semver: 7.5.4 transitivePeerDependencies: @@ -2834,8 +2834,8 @@ packages: acorn: 8.11.2 dev: true - /acorn-walk@8.3.0: - resolution: {integrity: sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==} + /acorn-walk@8.3.1: + resolution: {integrity: sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==} engines: {node: '>=0.4.0'} dev: true @@ -3173,7 +3173,7 @@ packages: dependencies: '@babel/core': 7.23.5 '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.5) - core-js-compat: 3.33.3 + core-js-compat: 3.34.0 transitivePeerDependencies: - supports-color dev: true @@ -3226,8 +3226,8 @@ packages: hasBin: true dev: true - /babylonjs-gltf2interface@6.32.0: - resolution: {integrity: sha512-iIrabQ28fTpnxBrj1XM6qFSKTsrMiewo6qZ7qin9n6oDivX5cOnLI+dKGPbCwLa3bdixkOQNxnix2JjACJMI7A==} + /babylonjs-gltf2interface@6.33.0: + resolution: {integrity: sha512-lszgNckmHhIR0URfyOFFNqMZs3yNH7EuXujp3hFNFaTuwlHH6osH9mtMlvopLEiZxiKYQBdToO2lTg5K08lWpg==} dev: true /balanced-match@1.0.2: @@ -3340,15 +3340,15 @@ packages: fill-range: 7.0.1 dev: true - /browserslist@4.22.1: - resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} + /browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001565 - electron-to-chromium: 1.4.597 - node-releases: 2.0.13 - update-browserslist-db: 1.0.13(browserslist@4.22.1) + caniuse-lite: 1.0.30001566 + electron-to-chromium: 1.4.607 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) dev: true /bs-logger@0.2.6: @@ -3502,8 +3502,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001565: - resolution: {integrity: sha512-xrE//a3O7TP0vaJ8ikzkD2c2NgcVUvsEe2IvFTntV4Yd1Z9FVzh+gW+enX96L0psrbaFMcVcH2l90xNuGDWc8w==} + /caniuse-lite@1.0.30001566: + resolution: {integrity: sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==} dev: true /chalk@2.4.2: @@ -3791,10 +3791,10 @@ packages: is-what: 3.14.1 dev: true - /core-js-compat@3.33.3: - resolution: {integrity: sha512-cNzGqFsh3Ot+529GIXacjTJ7kegdt5fPXxCBVS1G0iaZpuo/tBz399ymceLJveQhFFZ8qThHiP3fzuoQjKN2ow==} + /core-js-compat@3.34.0: + resolution: {integrity: sha512-4ZIyeNbW/Cn1wkMMDy+mvrRUxrwFNjKwbhCfQpDd+eLgYipDqp8oGFGtLmhh18EDPKA0g3VUBYOxQGGwvWLVpA==} dependencies: - browserslist: 4.22.1 + browserslist: 4.22.2 dev: true /core-util-is@1.0.3: @@ -3806,7 +3806,7 @@ packages: engines: {node: '>= 0.4.0'} dev: true - /create-jest@29.7.0(@types/node@20.10.1)(ts-node@10.9.1): + /create-jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.1): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -3815,7 +3815,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.10.1)(ts-node@10.9.1) + jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -3844,12 +3844,12 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.31) - postcss: 8.4.31 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.31) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.31) - postcss-modules-scope: 3.0.0(postcss@8.4.31) - postcss-modules-values: 4.0.0(postcss@8.4.31) + icss-utils: 5.1.0(postcss@8.4.32) + postcss: 8.4.32 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.32) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.32) + postcss-modules-scope: 3.0.0(postcss@8.4.32) + postcss-modules-values: 4.0.0(postcss@8.4.32) postcss-value-parser: 4.2.0 semver: 7.5.4 webpack: 5.89.0(webpack-cli@5.1.4) @@ -4130,8 +4130,8 @@ packages: jake: 10.8.7 dev: true - /electron-to-chromium@1.4.597: - resolution: {integrity: sha512-0XOQNqHhg2YgRVRUrS4M4vWjFCFIP2ETXcXe/0KIQBjXE9Cpy+tgzzYfuq6HGai3hWq0YywtG+5XK8fyG08EjA==} + /electron-to-chromium@1.4.607: + resolution: {integrity: sha512-YUlnPwE6eYxzwBnFmawA8LiLRfm70R2aJRIUv0n03uHt/cUzzYACOogmvk8M2+hVzt/kB80KJXx7d5f5JofPvQ==} dev: true /emittery@0.13.1: @@ -4246,7 +4246,7 @@ packages: is-weakref: 1.0.2 object-inspect: 1.13.1 object-keys: 1.1.1 - object.assign: 4.1.4 + object.assign: 4.1.5 regexp.prototype.flags: 1.5.1 safe-array-concat: 1.0.1 safe-regex-test: 1.0.0 @@ -4323,7 +4323,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.55.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -4344,15 +4344,15 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.55.0)(typescript@5.1.6) debug: 3.2.7 - eslint: 8.54.0 + eslint: 8.55.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0)(eslint@8.54.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0)(eslint@8.55.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -4362,16 +4362,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.54.0)(typescript@5.1.6) + '@typescript-eslint/parser': 5.62.0(eslint@8.55.0)(typescript@5.1.6) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.54.0 + eslint: 8.55.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.54.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint@8.55.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -4408,15 +4408,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.54.0: - resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==} + /eslint@8.55.0: + resolution: {integrity: sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.55.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.3 - '@eslint/js': 8.54.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.55.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -5232,7 +5232,7 @@ packages: he: 1.2.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.24.0 + terser: 5.25.0 dev: true /html-minifier-terser@7.2.0: @@ -5246,11 +5246,11 @@ packages: entities: 4.5.0 param-case: 3.0.4 relateurl: 0.2.7 - terser: 5.24.0 + terser: 5.25.0 dev: true - /html-webpack-plugin@5.5.3(webpack@5.89.0): - resolution: {integrity: sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg==} + /html-webpack-plugin@5.5.4(webpack@5.89.0): + resolution: {integrity: sha512-3wNSaVVxdxcu0jd4FpQFoICdqgxs4zIQQvj+2yQKFfBOnLETQ6X5CDWdeasuGlSsooFlMkEioWDTqBv1wvw5Iw==} engines: {node: '>=10.13.0'} peerDependencies: webpack: ^5.20.0 @@ -5415,13 +5415,13 @@ packages: safer-buffer: 2.1.2 dev: true - /icss-utils@5.1.0(postcss@8.4.31): + /icss-utils@5.1.0(postcss@8.4.32): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.32 dev: true /ieee754@1.2.1: @@ -5895,7 +5895,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 @@ -5916,7 +5916,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.10.1)(ts-node@10.9.1): + /jest-cli@29.7.0(@types/node@20.10.4)(ts-node@10.9.1): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -5930,10 +5930,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.10.1)(ts-node@10.9.1) + create-jest: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.10.1)(ts-node@10.9.1) + jest-config: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -5944,7 +5944,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@20.10.1)(ts-node@10.9.1): + /jest-config@29.7.0(@types/node@20.10.4)(ts-node@10.9.1): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -5959,7 +5959,7 @@ packages: '@babel/core': 7.23.5 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 babel-jest: 29.7.0(@babel/core@7.23.5) chalk: 4.1.2 ci-info: 3.9.0 @@ -5979,7 +5979,7 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.1(@types/node@20.10.1)(typescript@5.1.6) + ts-node: 10.9.1(@types/node@20.10.4)(typescript@5.1.6) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -6020,7 +6020,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -6036,7 +6036,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.10.1 + '@types/node': 20.10.4 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -6087,7 +6087,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 jest-util: 29.7.0 dev: true @@ -6142,7 +6142,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -6173,7 +6173,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 @@ -6229,7 +6229,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -6254,7 +6254,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.10.1 + '@types/node': 20.10.4 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -6266,7 +6266,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.10.1 + '@types/node': 20.10.4 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true @@ -6275,13 +6275,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.10.1 + '@types/node': 20.10.4 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.10.1)(ts-node@10.9.1): + /jest@29.7.0(@types/node@20.10.4)(ts-node@10.9.1): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -6294,7 +6294,7 @@ packages: '@jest/core': 29.7.0(ts-node@10.9.1) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.10.1)(ts-node@10.9.1) + jest-cli: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -7106,8 +7106,8 @@ packages: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true - /node-releases@2.0.13: - resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: true /nopt@5.0.0: @@ -7323,8 +7323,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.5 @@ -7710,7 +7710,7 @@ packages: - supports-color dev: true - /postcss-load-config@3.1.4(postcss@8.4.31)(ts-node@10.9.1): + /postcss-load-config@3.1.4(postcss@8.4.32)(ts-node@10.9.1): resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} engines: {node: '>= 10'} peerDependencies: @@ -7723,50 +7723,50 @@ packages: optional: true dependencies: lilconfig: 2.1.0 - postcss: 8.4.31 - ts-node: 10.9.1(@types/node@20.10.1)(typescript@5.1.6) + postcss: 8.4.32 + ts-node: 10.9.1(@types/node@20.10.4)(typescript@5.1.6) yaml: 1.10.2 dev: true - /postcss-modules-extract-imports@3.0.0(postcss@8.4.31): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.32): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.32 dev: true - /postcss-modules-local-by-default@4.0.3(postcss@8.4.31): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.32): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.31) - postcss: 8.4.31 + icss-utils: 5.1.0(postcss@8.4.32) + postcss: 8.4.32 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.31): + /postcss-modules-scope@3.0.0(postcss@8.4.32): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.31 + postcss: 8.4.32 postcss-selector-parser: 6.0.13 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.31): + /postcss-modules-values@4.0.0(postcss@8.4.32): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.31) - postcss: 8.4.31 + icss-utils: 5.1.0(postcss@8.4.32) + postcss: 8.4.32 dev: true /postcss-selector-parser@6.0.13: @@ -7781,8 +7781,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + /postcss@8.4.32: + resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -8865,7 +8865,7 @@ packages: resolution: {integrity: sha512-lQ9w/XIOH5ZHVNuNbWW8D822r+/wBSO/d6XvtyHLF7LW4KaCIDeVbvn5DF8fGCJAUCwVhVi/h6J0NUcnylUEjg==} hasBin: true dependencies: - '@adobe/css-tools': 4.3.1 + '@adobe/css-tools': 4.3.2 debug: 4.3.4 glob: 7.2.3 sax: 1.2.4 @@ -8941,12 +8941,12 @@ packages: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 - terser: 5.24.0 + terser: 5.25.0 webpack: 5.89.0(webpack-cli@5.1.4) dev: true - /terser@5.24.0: - resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} + /terser@5.25.0: + resolution: {integrity: sha512-we0I9SIsfvNUMP77zC9HG+MylwYYsGFSBG8qm+13oud2Yh+O104y614FRbyjpxys16jZwot72Fpi827YvGzuqg==} engines: {node: '>=10'} hasBin: true dependencies: @@ -9051,7 +9051,7 @@ packages: babel-jest: 29.7.0(@babel/core@7.23.5) bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.10.1)(ts-node@10.9.1) + jest: 29.7.0(@types/node@20.10.4)(ts-node@10.9.1) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -9077,7 +9077,7 @@ packages: webpack: 5.89.0(webpack-cli@5.1.4) dev: true - /ts-node@10.9.1(@types/node@20.10.1)(typescript@5.1.6): + /ts-node@10.9.1(@types/node@20.10.4)(typescript@5.1.6): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -9096,9 +9096,9 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.10.1 + '@types/node': 20.10.4 acorn: 8.11.2 - acorn-walk: 8.3.0 + acorn-walk: 8.3.1 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 @@ -9261,14 +9261,14 @@ packages: '@types/postcss-modules-local-by-default': 4.0.2 '@types/postcss-modules-scope': 3.0.4 dotenv: 16.3.1 - icss-utils: 5.1.0(postcss@8.4.31) + icss-utils: 5.1.0(postcss@8.4.32) less: 4.2.0 lodash.camelcase: 4.3.0 - postcss: 8.4.31 - postcss-load-config: 3.1.4(postcss@8.4.31)(ts-node@10.9.1) - postcss-modules-extract-imports: 3.0.0(postcss@8.4.31) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.31) - postcss-modules-scope: 3.0.0(postcss@8.4.31) + postcss: 8.4.32 + postcss-load-config: 3.1.4(postcss@8.4.32)(ts-node@10.9.1) + postcss-modules-extract-imports: 3.0.0(postcss@8.4.32) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.32) + postcss-modules-scope: 3.0.0(postcss@8.4.32) reserved-words: 0.1.2 sass: 1.69.5 source-map-js: 1.0.2 @@ -9383,13 +9383,13 @@ packages: engines: {node: '>=8'} dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.1): + /update-browserslist-db@1.0.13(browserslist@4.22.2): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.1 + browserslist: 4.22.2 escalade: 3.1.1 picocolors: 1.0.0 dev: true @@ -9657,7 +9657,7 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 acorn: 8.11.2 acorn-import-assertions: 1.9.0(acorn@8.11.2) - browserslist: 4.22.1 + browserslist: 4.22.2 chrome-trace-event: 1.0.3 enhanced-resolve: 5.15.0 es-module-lexer: 1.4.1 diff --git a/src/ts/postProcesses/flatCloudsPostProcess.ts b/src/ts/postProcesses/flatCloudsPostProcess.ts index 9e0518038..cd5dbe64d 100644 --- a/src/ts/postProcesses/flatCloudsPostProcess.ts +++ b/src/ts/postProcesses/flatCloudsPostProcess.ts @@ -155,12 +155,16 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost } ]; - const postProcess = new FlatCloudsPostProcess(name, shaderName, planet, cloudUniforms, uniforms, samplers, scene); - postProcess.onUpdatedObservable.add((deltaTime: number) => { - cloudUniforms.time += deltaTime; + return new Promise((resolve, reject) => { + lut.executeWhenReady(() => { + const postProcess = new FlatCloudsPostProcess(name, shaderName, planet, cloudUniforms, uniforms, samplers, scene); + postProcess.onUpdatedObservable.add((deltaTime: number) => { + cloudUniforms.time += deltaTime; + }); + + resolve(postProcess); + }); }); - - return postProcess; } private constructor( @@ -188,9 +192,6 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost lut.setFloat("detailFrequency", detailFrequency); lut.refreshRate = 0; - // This is necessary to make sure the texture is not empty at runtime (see: https://forum.babylonjs.com/t/webgl-warning-when-binding-procedural-texture-to-postprocess/46047) - scene.render(); - return lut; } } diff --git a/src/ts/postProcesses/rings/ringsPostProcess.ts b/src/ts/postProcesses/rings/ringsPostProcess.ts index 33065cd7c..ea03071dc 100644 --- a/src/ts/postProcesses/rings/ringsPostProcess.ts +++ b/src/ts/postProcesses/rings/ringsPostProcess.ts @@ -48,7 +48,11 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce } ]; - return new RingsPostProcess(body.name + "Rings", shaderName, uniforms, samplers, scene, body, ringsUniforms, lut); + return new Promise((resolve, reject) => { + lut.executeWhenReady(() => { + resolve(new RingsPostProcess(body.name + "Rings", shaderName, uniforms, samplers, scene, body, ringsUniforms, lut)); + }); + }); } private constructor(name: string, shaderName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, scene: UberScene, body: AbstractBody, ringsUniforms: RingsUniforms, lut: ProceduralTexture) { @@ -70,7 +74,7 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce width: 4096, height: 1 }, - "ringsLUT", + "ringsLUT", scene, undefined, false, @@ -82,9 +86,6 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce lut.setFloat("ringEnd", ringEnd); lut.refreshRate = 0; - // This is necessary to make sure the texture is not empty at runtime (see: https://forum.babylonjs.com/t/webgl-warning-when-binding-procedural-texture-to-postprocess/46047) - scene.render(); - return lut; } } diff --git a/src/ts/postProcesses/shadowPostProcess.ts b/src/ts/postProcesses/shadowPostProcess.ts index bb4df604d..07dc8569d 100644 --- a/src/ts/postProcesses/shadowPostProcess.ts +++ b/src/ts/postProcesses/shadowPostProcess.ts @@ -23,7 +23,7 @@ export class ShadowPostProcess extends UberPostProcess implements ObjectPostProc public static async CreateAsync(body: AbstractBody, scene: UberScene, stellarObjects: StellarObject[]): Promise { const shaderName = "shadow"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = shadowFragment; } @@ -36,6 +36,11 @@ export class ShadowPostProcess extends UberPostProcess implements ObjectPostProc ...getObjectUniforms(body), ...getStellarObjectsUniforms(stellarObjects), ...getActiveCameraUniforms(scene), + { + name: "star_radiuses", + type: UniformEnumType.FloatArray, + get: () => stellarObjects.map((star) => star.getBoundingRadius()) + }, { name: "shadowUniforms_hasRings", type: UniformEnumType.Bool, @@ -73,13 +78,26 @@ export class ShadowPostProcess extends UberPostProcess implements ObjectPostProc return ringsLUT; } }); - } - return new ShadowPostProcess(body.name + "Shadow", body, scene, shaderName, uniforms, samplers, shadowUniforms); + return new Promise((resolve, reject) => { + ringsLUT.executeWhenReady(() => { + resolve(new ShadowPostProcess(body.name + "Shadow", body, scene, shaderName, uniforms, samplers, shadowUniforms)); + }); + }); + } else { + return new ShadowPostProcess(body.name + "Shadow", body, scene, shaderName, uniforms, samplers, shadowUniforms); + } } - private constructor(name: string, body: AbstractBody, scene: UberScene, shaderName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, shadowUniforms: ShadowUniforms) { - + private constructor( + name: string, + body: AbstractBody, + scene: UberScene, + shaderName: string, + uniforms: ShaderUniforms, + samplers: ShaderSamplers, + shadowUniforms: ShadowUniforms + ) { super(name, shaderName, uniforms, samplers, scene); this.object = body; From df2253eb6aab213b7d6d2dbd455f4a48a99f2665 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:50:37 +0100 Subject: [PATCH 19/51] added custom twgsl files --- src/ts/utils/TWGSL/twgsl.js | 53 ++++++++++++++++++++++++++++++++++ src/ts/utils/TWGSL/twgsl.wasm | Bin 0 -> 2723301 bytes 2 files changed, 53 insertions(+) create mode 100644 src/ts/utils/TWGSL/twgsl.js create mode 100644 src/ts/utils/TWGSL/twgsl.wasm diff --git a/src/ts/utils/TWGSL/twgsl.js b/src/ts/utils/TWGSL/twgsl.js new file mode 100644 index 000000000..f808d8169 --- /dev/null +++ b/src/ts/utils/TWGSL/twgsl.js @@ -0,0 +1,53 @@ +var Module = function(Module) { + Module = Module || {}; +var Module=typeof Module!="undefined"?Module:{};var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}var fs,nodePath;if(typeof require==="function"){fs=require("fs");nodePath=require("path")}read_=(filename,binary)=>{filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="twgsl.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["o"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["s"];addOnInit(Module["asm"]["p"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function _abort(){abort("")}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return()=>{crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return()=>crypto_module["randomBytes"](1)[0]}catch(e){}}return()=>abort("randomDevice")}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function mmapAlloc(size){abort()}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(p=>!!p),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},createPreloadedFile:(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAPU32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;tempI64=[Math.floor(stat.atime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.atime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=0;tempI64=[Math.floor(stat.mtime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.mtime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=0;tempI64=[Math.floor(stat.ctime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.ctime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAPU32[buf+96>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function convertI32PairToI53Checked(lo,hi){return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _return_string(data,length){Module._return_string_callback(data,length)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();var asmLibraryArg={"a":___assert_fail,"f":___cxa_allocate_exception,"e":___cxa_throw,"b":_abort,"i":_emscripten_resize_heap,"l":_environ_get,"m":_environ_sizes_get,"d":_exit,"g":_fd_close,"h":_fd_read,"k":_fd_seek,"j":_fd_write,"n":_return_string,"c":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["p"]).apply(null,arguments)};var _test=Module["_test"]=function(){return(_test=Module["_test"]=Module["asm"]["q"]).apply(null,arguments)};var _spirv_to_wgsl=Module["_spirv_to_wgsl"]=function(){return(_spirv_to_wgsl=Module["_spirv_to_wgsl"]=Module["asm"]["r"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["t"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["u"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["v"]).apply(null,arguments)};var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +return Module; +}; +(function tryToExport(root, factory) { + if (typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if (typeof define === 'function' && define.amd) + define("twgsl", [], factory); + else if (typeof exports === 'object') + exports["twgsl"] = factory(); + else root["twgsl"] = factory(); + })(typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this, () => { + const initialize = (wasmPath) => { + wasmPath = wasmPath || 'twgsl.wasm' + return new Promise(resolve => { + Module({ + locateFile() { + return wasmPath; + }, + onRuntimeInitialized() { + var twgsl = this; + var wgsl = ""; + var textDecoder = new TextDecoder(); + var convertSpirV2WGSL = (code, disableUniformityAnalysis) => { + if (!twgsl._return_string_callback) { + twgsl._return_string_callback = (data, length) => { + const bytes = new Uint8ClampedArray(twgsl.HEAPU8.subarray(data, data + length)); + wgsl = textDecoder.decode(bytes); + }; + } + let addr = twgsl._malloc(code.byteLength); + twgsl.HEAPU32.set(code, addr / 4); + twgsl._spirv_to_wgsl(addr, code.byteLength, disableUniformityAnalysis); + twgsl._free(addr); + return wgsl; + }; + resolve({ + convertSpirV2WGSL: convertSpirV2WGSL, + }); + }, + }); + }); + }; + let instance; + return (wasmPath) => { + if (!instance) { + instance = initialize(wasmPath); + } + return instance; + }; +}); diff --git a/src/ts/utils/TWGSL/twgsl.wasm b/src/ts/utils/TWGSL/twgsl.wasm new file mode 100644 index 0000000000000000000000000000000000000000..199e5af0283ef7d360252c73f7716f016646be88 GIT binary patch literal 2723301 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≪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

73=hv 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⪼v@~rlr4rN|GPpQ1G?|h0dVR- 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 z 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

=kD4KzmplDz1#iQtSt!JZXTk9f<2F&I|(R;hl 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 Wt>g14W2Kh7$iC4RSN^?bvHuTYZ9r83 literal 0 HcmV?d00001 From fc3e1dbf4f3bdbb029c7f27b2b6b91990a9ca82d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:12:46 +0100 Subject: [PATCH 20/51] fixed ocean in webgpu thanks to the new version of tintwasm! --- src/ts/playground.ts | 36 +++++++++++++++---- src/ts/postProcesses/flatCloudsPostProcess.ts | 4 +-- src/ts/postProcesses/starfieldPostProcess.ts | 4 +-- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/src/ts/playground.ts b/src/ts/playground.ts index 192db7348..fb90127f1 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -17,12 +17,26 @@ import HavokPhysics from "@babylonjs/havok"; import { HavokPlugin } from "@babylonjs/core/Physics/v2/Plugins/havokPlugin"; import { setMaxLinVel } from "./utils/havok"; import { DefaultController } from "./defaultController/defaultController"; +import { FlatCloudsPostProcess } from "./postProcesses/flatCloudsPostProcess"; +import { StarfieldPostProcess } from "./postProcesses/starfieldPostProcess"; +import { Quaternion } from "@babylonjs/core/Maths/math"; const canvas = document.getElementById("renderer") as HTMLCanvasElement; canvas.width = window.innerWidth; canvas.height = window.innerHeight; -const engine = await EngineFactory.CreateAsync(canvas, {}); +const wasmPath = new URL("./utils/TWGSL/twgsl.wasm", import.meta.url); +const jsPath = new URL("./utils/TWGSL/twgsl.js", import.meta.url); + +console.log(wasmPath, jsPath); + +const engine = await EngineFactory.CreateAsync(canvas, { + twgslOptions: { + wasmPath: wasmPath.href, + jsPath: jsPath.href + } +}); + engine.useReverseDepthBuffer = true; const scene = new UberScene(engine); @@ -72,13 +86,20 @@ class LightWrapper implements Transformable { const wrappedLight = new LightWrapper(light); -//const ocean = new OceanPostProcess("ocean", sphere, scene, [wrappedLight]); -//defaultController.getActiveCamera().attachPostProcess(ocean); +const starfield = new StarfieldPostProcess(scene, [wrappedLight], [sphere], Quaternion.Identity()); +defaultController.getActiveCamera().attachPostProcess(starfield); -const atmosphere = new AtmosphericScatteringPostProcess("atmosphere", sphere, 100e3, scene, [wrappedLight]); -defaultController.getActiveCamera().attachPostProcess(atmosphere); +const ocean = new OceanPostProcess("ocean", sphere, scene, [wrappedLight]); +defaultController.getActiveCamera().attachPostProcess(ocean); -scene.onBeforeRenderObservable.add(() => { +FlatCloudsPostProcess.CreateAsync("clouds", sphere, 10e3, scene, [wrappedLight]).then((clouds) => { + defaultController.getActiveCamera().attachPostProcess(clouds); + + const atmosphere = new AtmosphericScatteringPostProcess("atmosphere", sphere, 100e3, scene, [wrappedLight]); + defaultController.getActiveCamera().attachPostProcess(atmosphere); +}); + +scene.onBeforePhysicsObservable.add(() => { const deltaTime = scene.deltaTime / 1000; sphere.updateInternalClock(deltaTime); sphere.computeCulling(defaultController.getActiveCamera()); @@ -86,6 +107,9 @@ scene.onBeforeRenderObservable.add(() => { chunkForge.update(); sphere.updateMaterial(defaultController, [wrappedLight], deltaTime); + starfield.update(deltaTime); + ocean.update(deltaTime); + defaultController.update(scene.deltaTime); if (defaultController.getActiveCamera().getAbsolutePosition().length() > 100) { translate(sphere.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); diff --git a/src/ts/postProcesses/flatCloudsPostProcess.ts b/src/ts/postProcesses/flatCloudsPostProcess.ts index cd5dbe64d..111277c7f 100644 --- a/src/ts/postProcesses/flatCloudsPostProcess.ts +++ b/src/ts/postProcesses/flatCloudsPostProcess.ts @@ -9,11 +9,11 @@ import { UberPostProcess } from "../uberCore/postProcesses/uberPostProcess"; import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObjectsUniforms } from "./uniforms"; import { TelluricPlanemo } from "../planemos/telluricPlanemo/telluricPlanemo"; import { ObjectPostProcess } from "./objectPostProcess"; -import { StellarObject } from "../stellarObjects/stellarObject"; import { SamplerEnumType, ShaderSamplers, ShaderUniforms, UniformEnumType } from "../uberCore/postProcesses/types"; import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture"; import { Scene } from "@babylonjs/core/scene"; import flatCloudLUT from "../../shaders/textures/flatCloudLUT.glsl"; +import { Transformable } from "../uberCore/transforms/basicTransform"; export interface CloudUniforms { layerRadius: number; @@ -38,7 +38,7 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost planet: TelluricPlanemo, cloudLayerHeight: number, scene: UberScene, - stellarObjects: StellarObject[] + stellarObjects: Transformable[] ): Promise { const shaderName = "flatClouds"; if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { diff --git a/src/ts/postProcesses/starfieldPostProcess.ts b/src/ts/postProcesses/starfieldPostProcess.ts index 1722dc788..7c9a62c28 100644 --- a/src/ts/postProcesses/starfieldPostProcess.ts +++ b/src/ts/postProcesses/starfieldPostProcess.ts @@ -7,7 +7,6 @@ import { Settings } from "../settings"; import { nearestBody } from "../utils/nearestBody"; import { AbstractBody } from "../bodies/abstractBody"; import { Assets } from "../assets"; -import { StellarObject } from "../stellarObjects/stellarObject"; import { Effect } from "@babylonjs/core/Materials/effect"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { PostProcessType } from "./postProcessTypes"; @@ -15,9 +14,10 @@ import { Axis } from "@babylonjs/core/Maths/math.axis"; import { SamplerEnumType, ShaderSamplers, ShaderUniforms, UniformEnumType } from "../uberCore/postProcesses/types"; import { Matrix, Quaternion } from "@babylonjs/core/Maths/math"; import { BlackHole } from "../stellarObjects/blackHole/blackHole"; +import { Transformable } from "../uberCore/transforms/basicTransform"; export class StarfieldPostProcess extends UberPostProcess { - constructor(scene: UberScene, stellarObjects: StellarObject[], bodies: AbstractBody[], starfieldRotation: Quaternion) { + constructor(scene: UberScene, stellarObjects: Transformable[], bodies: AbstractBody[], starfieldRotation: Quaternion) { const shaderName = "starfield"; if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { From c4ace7f8f70de38b08c4d402143261610733b92b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:16:56 +0100 Subject: [PATCH 21/51] fixed starfield not displaying depending on scene clear color --- src/shaders/starfieldFragment.glsl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/shaders/starfieldFragment.glsl b/src/shaders/starfieldFragment.glsl index d8310bb3f..3ba1c9ba1 100644 --- a/src/shaders/starfieldFragment.glsl +++ b/src/shaders/starfieldFragment.glsl @@ -1,5 +1,7 @@ precision highp float; +/* disable_uniformity_analysis */ + varying vec2 vUV;// screen coordinates uniform sampler2D textureSampler;// the original screen texture @@ -30,19 +32,17 @@ void main() { vec2 starfieldUV = vec2(0.0); - if (screenColor == vec4(0.0)) { + if (depth == 1.0) { // get the starfield color // get spherical coordinates uv for the starfield texture starfieldUV = vec2( sign(rayDir.z) * acos(rayDir.x / length(vec2(rayDir.x, rayDir.z))) / 6.28318530718, acos(rayDir.y) / 3.14159265359 ); - } - vec4 starfieldColor = texture2D(starfieldTexture, starfieldUV); - starfieldColor.rgb = pow(starfieldColor.rgb, vec3(2.2)); // deeper blacks + vec4 starfieldColor = texture2D(starfieldTexture, starfieldUV); + starfieldColor.rgb = pow(starfieldColor.rgb, vec3(2.2)); // deeper blacks - if (screenColor == vec4(0.0)) { finalColor = vec4(starfieldColor.rgb * visibility, starfieldColor.a); } From 445ff7d790a00979686d04e8495d568183769f12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:23:16 +0100 Subject: [PATCH 22/51] Update ringsPostProcess.ts --- src/ts/postProcesses/rings/ringsPostProcess.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ts/postProcesses/rings/ringsPostProcess.ts b/src/ts/postProcesses/rings/ringsPostProcess.ts index ea03071dc..da060b390 100644 --- a/src/ts/postProcesses/rings/ringsPostProcess.ts +++ b/src/ts/postProcesses/rings/ringsPostProcess.ts @@ -4,20 +4,20 @@ import { UberScene } from "../../uberCore/uberScene"; import { UberPostProcess } from "../../uberCore/postProcesses/uberPostProcess"; import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObjectsUniforms } from "../uniforms"; import { ObjectPostProcess } from "../objectPostProcess"; -import { StellarObject } from "../../stellarObjects/stellarObject"; import { Effect } from "@babylonjs/core/Materials/effect"; import { SamplerEnumType, ShaderSamplers, ShaderUniforms } from "../../uberCore/postProcesses/types"; import { RingsUniforms } from "./ringsUniform"; import { Scene } from "@babylonjs/core/scene"; import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture"; import ringsLUT from "../../../shaders/textures/ringsLUT.glsl"; +import { Transformable } from "../../uberCore/transforms/basicTransform"; export class RingsPostProcess extends UberPostProcess implements ObjectPostProcess { readonly ringsUniforms: RingsUniforms; readonly object: AbstractBody; readonly lut: ProceduralTexture; - public static async CreateAsync(body: AbstractBody, scene: UberScene, stellarObjects: StellarObject[]): Promise { + public static async CreateAsync(body: AbstractBody, scene: UberScene, stellarObjects: Transformable[]): Promise { const shaderName = "rings"; if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = ringsFragment; From 7da6d3c0be27e96fc0912f5801bb59a480c5cca4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:23:29 +0100 Subject: [PATCH 23/51] rings are webgpu compatible --- src/ts/playground.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ts/playground.ts b/src/ts/playground.ts index fb90127f1..cac244a4a 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -20,6 +20,8 @@ import { DefaultController } from "./defaultController/defaultController"; import { FlatCloudsPostProcess } from "./postProcesses/flatCloudsPostProcess"; import { StarfieldPostProcess } from "./postProcesses/starfieldPostProcess"; import { Quaternion } from "@babylonjs/core/Maths/math"; +import { RingsPostProcess } from "./postProcesses/rings/ringsPostProcess"; +import { RingsUniforms } from "./postProcesses/rings/ringsUniform"; const canvas = document.getElementById("renderer") as HTMLCanvasElement; canvas.width = window.innerWidth; @@ -65,6 +67,7 @@ const light = new DirectionalLight("dir01", new Vector3(1, -2, -1), scene); const sphereRadius = 1000e3; const sphere = new TelluricPlanemo("sphere", scene, 0.5); +sphere.model.ringsUniforms = new RingsUniforms(sphere.model.rng); translate(sphere.getTransform(), new Vector3(0, 0, sphereRadius * 4)); defaultController.getActiveCamera().maxZ = sphereRadius * 10; @@ -94,9 +97,14 @@ defaultController.getActiveCamera().attachPostProcess(ocean); FlatCloudsPostProcess.CreateAsync("clouds", sphere, 10e3, scene, [wrappedLight]).then((clouds) => { defaultController.getActiveCamera().attachPostProcess(clouds); + scene.onBeforeRenderObservable.add(() => clouds.update(scene.deltaTime * 0.001)); const atmosphere = new AtmosphericScatteringPostProcess("atmosphere", sphere, 100e3, scene, [wrappedLight]); defaultController.getActiveCamera().attachPostProcess(atmosphere); + + RingsPostProcess.CreateAsync(sphere, scene, [wrappedLight]).then((rings) => { + defaultController.getActiveCamera().attachPostProcess(rings); + }); }); scene.onBeforePhysicsObservable.add(() => { From acdb2dc8b426520c0692b03e768352ada603bed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:28:18 +0100 Subject: [PATCH 24/51] added mipmapping to ring lut --- src/ts/postProcesses/rings/ringsPostProcess.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ts/postProcesses/rings/ringsPostProcess.ts b/src/ts/postProcesses/rings/ringsPostProcess.ts index da060b390..6a77eed2a 100644 --- a/src/ts/postProcesses/rings/ringsPostProcess.ts +++ b/src/ts/postProcesses/rings/ringsPostProcess.ts @@ -77,7 +77,7 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce "ringsLUT", scene, undefined, - false, + true, false ); lut.setFloat("seed", seed); From fda5844fb5ef5b3b8ced23f0c5f33df606b0d15d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:34:51 +0100 Subject: [PATCH 25/51] added mipmapping for cloud lut --- src/ts/postProcesses/flatCloudsPostProcess.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ts/postProcesses/flatCloudsPostProcess.ts b/src/ts/postProcesses/flatCloudsPostProcess.ts index 111277c7f..c52469fed 100644 --- a/src/ts/postProcesses/flatCloudsPostProcess.ts +++ b/src/ts/postProcesses/flatCloudsPostProcess.ts @@ -187,7 +187,7 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost Effect.ShadersStore[`flatCloudsLUTFragmentShader`] = flatCloudLUT; } - const lut = new ProceduralTexture("flatCloudLUT", 4096, "flatCloudsLUT", scene, undefined, false, false); + const lut = new ProceduralTexture("flatCloudLUT", 4096, "flatCloudsLUT", scene, undefined, true, false); lut.setFloat("worleyFrequency", worleyFrequency); lut.setFloat("detailFrequency", detailFrequency); lut.refreshRate = 0; From 2ab714a90f74ff97275ade07cca50ec603ddf7d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 16:56:32 +0100 Subject: [PATCH 26/51] removed useless depthrenderer logic --- src/ts/uberCore/uberScene.ts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/ts/uberCore/uberScene.ts b/src/ts/uberCore/uberScene.ts index 8cc0b161a..cafbac529 100644 --- a/src/ts/uberCore/uberScene.ts +++ b/src/ts/uberCore/uberScene.ts @@ -29,14 +29,10 @@ export class UberScene extends Scene { public setActiveCamera(camera: Camera) { this.activeCamera = camera; - if (this.depthRenderer !== null) { - // Remove old depth renderer - this.customRenderTargets.splice(this.customRenderTargets.indexOf(this.depthRenderer.getDepthMap()), 1); - this.depthRenderer.dispose(); - } + if (this.depthRenderer !== null) this.depthRenderer.dispose(); + this.depthRenderer = this.enableDepthRenderer(null, false, true); - this.customRenderTargets.push(this.depthRenderer.getDepthMap()); } public getActiveController(): AbstractController { From 00f1432dbbebc95aeeceb903f06f5c9afd680031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 17:24:08 +0100 Subject: [PATCH 27/51] Created wrapper utility It eases the interoperability with regular BabylonJS objects --- src/ts/utils/wrappers.ts | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/ts/utils/wrappers.ts diff --git a/src/ts/utils/wrappers.ts b/src/ts/utils/wrappers.ts new file mode 100644 index 000000000..a50ad5bf2 --- /dev/null +++ b/src/ts/utils/wrappers.ts @@ -0,0 +1,37 @@ +import { Transformable } from "../uberCore/transforms/basicTransform"; +import { BoundingSphere } from "../bodies/common"; +import { TransformNode } from "@babylonjs/core/Meshes"; +import { Quaternion } from "@babylonjs/core/Maths/math"; +import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; + +export class TransformNodeWrapper implements Transformable, BoundingSphere { + readonly transform: TransformNode; + readonly radius: number; + constructor(mesh: TransformNode, radius: number) { + this.transform = mesh; + this.transform.rotationQuaternion = Quaternion.Identity(); + this.radius = radius; + } + + getBoundingRadius(): number { + return this.radius; + } + + getTransform(): TransformNode { + return this.transform; + } +} + +export class DirectionalLightWrapper implements Transformable { + readonly light: DirectionalLight; + readonly transform: TransformNode; + + constructor(light: DirectionalLight) { + this.light = light; + this.transform = new TransformNode("lightTransform"); + } + + getTransform(): TransformNode { + return this.transform; + } +} \ No newline at end of file From 346370e3c5794d0db1bb0fcff16fcdb0334f32fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 17:41:48 +0100 Subject: [PATCH 28/51] removed ubercore where possible --- src/ts/postProcesses/objectPostProcess.ts | 3 +- src/ts/postProcesses/uniforms.ts | 41 ++++++++++++++----- .../uberCore/postProcesses/uberPostProcess.ts | 4 +- src/ts/uberCore/uberCamera.ts | 17 +------- src/ts/uberCore/uberScene.ts | 4 +- 5 files changed, 38 insertions(+), 31 deletions(-) diff --git a/src/ts/postProcesses/objectPostProcess.ts b/src/ts/postProcesses/objectPostProcess.ts index a85c2c5b7..f1f2f965c 100644 --- a/src/ts/postProcesses/objectPostProcess.ts +++ b/src/ts/postProcesses/objectPostProcess.ts @@ -1,5 +1,6 @@ import { PostProcess } from "@babylonjs/core/PostProcesses/postProcess"; import { BaseObject } from "../bodies/common"; +import { Transformable } from "../uberCore/transforms/basicTransform"; export interface UpdatablePostProcess extends PostProcess { /** @@ -14,6 +15,6 @@ export interface ObjectPostProcess extends UpdatablePostProcess { * The object this post process will be attached to. * This makes sense for raymarching and raytracing shaders that need to know the position of the object. */ - readonly object: BaseObject; + readonly object: Transformable; dispose(): void; } diff --git a/src/ts/postProcesses/uniforms.ts b/src/ts/postProcesses/uniforms.ts index 48d6abbe6..0104af780 100644 --- a/src/ts/postProcesses/uniforms.ts +++ b/src/ts/postProcesses/uniforms.ts @@ -1,47 +1,68 @@ import { UberScene } from "../uberCore/uberScene"; import { SamplerEnumType, ShaderSamplers, ShaderUniforms, UniformEnumType } from "../uberCore/postProcesses/types"; -import { StellarObject } from "../stellarObjects/stellarObject"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; -import { BaseObject, BoundingSphere } from "../bodies/common"; +import { BoundingSphere } from "../bodies/common"; import { Star } from "../stellarObjects/star/star"; import { Transformable } from "../uberCore/transforms/basicTransform"; +import { Scene } from "@babylonjs/core/scene"; -export function getActiveCameraUniforms(scene: UberScene): ShaderUniforms { +export function getActiveCameraUniforms(scene: Scene): ShaderUniforms { return [ { name: "camera_position", type: UniformEnumType.Vector3, - get: () => scene.getActiveUberCamera().getAbsolutePosition() + get: () => { + if (scene.activeCamera === null) throw new Error("No active camera"); + return scene.activeCamera.globalPosition; + } }, { name: "camera_projection", type: UniformEnumType.Matrix, - get: () => scene.getActiveUberCamera().getProjectionMatrix() + get: () => { + if(scene.activeCamera === null) throw new Error("No active camera"); + return scene.activeCamera.getProjectionMatrix(); + } }, { name: "camera_inverseProjection", type: UniformEnumType.Matrix, - get: () => scene.getActiveUberCamera().getInverseProjectionMatrix() + get: () => { + if(scene.activeCamera === null) throw new Error("No active camera"); + return scene.activeCamera.getProjectionMatrix().clone().invert(); + } }, { name: "camera_view", type: UniformEnumType.Matrix, - get: () => scene.getActiveUberCamera().getViewMatrix() + get: () => { + if(scene.activeCamera === null) throw new Error("No active camera"); + return scene.activeCamera.getViewMatrix(); + } }, { name: "camera_inverseView", type: UniformEnumType.Matrix, - get: () => scene.getActiveUberCamera().getInverseViewMatrix() + get: () => { + if(scene.activeCamera === null) throw new Error("No active camera"); + return scene.activeCamera.getViewMatrix().clone().invert(); + } }, { name: "camera_near", type: UniformEnumType.Float, - get: () => scene.getActiveUberCamera().minZ + get: () => { + if(scene.activeCamera === null) throw new Error("No active camera"); + return scene.activeCamera.minZ; + } }, { name: "camera_far", type: UniformEnumType.Float, - get: () => scene.getActiveUberCamera().maxZ + get: () => { + if(scene.activeCamera === null) throw new Error("No active camera"); + return scene.activeCamera.maxZ; + } } ]; } diff --git a/src/ts/uberCore/postProcesses/uberPostProcess.ts b/src/ts/uberCore/postProcesses/uberPostProcess.ts index 97548a141..9906ee439 100644 --- a/src/ts/uberCore/postProcesses/uberPostProcess.ts +++ b/src/ts/uberCore/postProcesses/uberPostProcess.ts @@ -1,12 +1,12 @@ import { Matrix, Quaternion, Vector3, Vector4 } from "@babylonjs/core/Maths/math.vector"; import { flattenVector3Array, flattenVector4Array } from "../../utils/algebra"; -import { UberScene } from "../uberScene"; import { Color3 } from "@babylonjs/core/Maths/math.color"; import { Texture } from "@babylonjs/core/Materials/Textures/texture"; import { PostProcess } from "@babylonjs/core/PostProcesses/postProcess"; import { UpdatablePostProcess } from "../../postProcesses/objectPostProcess"; import { UniformEnumType, ShaderSamplers, ShaderUniforms, SamplerEnumType } from "./types"; import { Observable } from "@babylonjs/core/Misc/observable"; +import { Scene } from "@babylonjs/core/scene"; /** * A wrapper around BabylonJS post processes that allows more predictable and easier to use uniforms @@ -17,7 +17,7 @@ export abstract class UberPostProcess extends PostProcess implements UpdatablePo readonly onUpdatedObservable = new Observable(); - protected constructor(name: string, fragmentName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, scene: UberScene) { + protected constructor(name: string, fragmentName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, scene: Scene) { const uniformNames = uniforms.map((uniform) => uniform.name); const samplerNames = samplers.map((sampler) => sampler.name); diff --git a/src/ts/uberCore/uberCamera.ts b/src/ts/uberCore/uberCamera.ts index b4352dd4c..7a528e86e 100644 --- a/src/ts/uberCore/uberCamera.ts +++ b/src/ts/uberCore/uberCamera.ts @@ -1,26 +1,11 @@ import { FreeCamera } from "@babylonjs/core/Cameras/freeCamera"; -import { Matrix, Vector3 } from "@babylonjs/core/Maths/math.vector"; +import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { Scene } from "@babylonjs/core/scene"; export class UberCamera extends FreeCamera { - private inverseProjectionMatrix: Matrix; - private inverseViewMatrix: Matrix; constructor(name: string, position: Vector3, scene: Scene) { super(name, position, scene); - - this.inverseProjectionMatrix = Matrix.Invert(this.getProjectionMatrix()); - this.inverseViewMatrix = Matrix.Invert(this.getViewMatrix()); - } - - getInverseProjectionMatrix(): Matrix { - this.inverseProjectionMatrix = Matrix.Invert(this.getProjectionMatrix()); - return this.inverseProjectionMatrix; - } - - getInverseViewMatrix(): Matrix { - this.inverseViewMatrix = Matrix.Invert(this.getViewMatrix()); - return this.inverseViewMatrix; } forward(): Vector3 { diff --git a/src/ts/uberCore/uberScene.ts b/src/ts/uberCore/uberScene.ts index cafbac529..942299230 100644 --- a/src/ts/uberCore/uberScene.ts +++ b/src/ts/uberCore/uberScene.ts @@ -27,11 +27,11 @@ export class UberScene extends Scene { } public setActiveCamera(camera: Camera) { + if (this.activeCamera !== null) this.activeCamera.detachControl(this.getEngine().getRenderingCanvas()); this.activeCamera = camera; + camera.attachControl(this.getEngine().getRenderingCanvas(), true); if (this.depthRenderer !== null) this.depthRenderer.dispose(); - - this.depthRenderer = this.enableDepthRenderer(null, false, true); } From 04139533e37f3618b8368c0d1aa3c98d3b54a873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 20:13:25 +0100 Subject: [PATCH 29/51] fixed bug --- src/ts/playground.ts | 87 ++++---------------- src/ts/postProcesses/oceanPostProcess.ts | 8 +- src/ts/postProcesses/starfieldPostProcess.ts | 5 +- src/ts/uberCore/uberScene.ts | 2 - src/ts/utils/wrappers.ts | 17 ++++ 5 files changed, 39 insertions(+), 80 deletions(-) diff --git a/src/ts/playground.ts b/src/ts/playground.ts index cac244a4a..b2e98a4b3 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -4,24 +4,15 @@ import { Assets } from "./assets"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; import { OceanPostProcess } from "./postProcesses/oceanPostProcess"; -import { TransformNode } from "@babylonjs/core/Meshes"; import { UberScene } from "./uberCore/uberScene"; -import { Transformable, translate } from "./uberCore/transforms/basicTransform"; +import { translate } from "./uberCore/transforms/basicTransform"; import { Keyboard } from "./inputs/keyboard"; import { Mouse } from "./inputs/mouse"; import { EngineFactory } from "@babylonjs/core"; -import { AtmosphericScatteringPostProcess } from "./postProcesses/atmosphericScatteringPostProcess"; -import { TelluricPlanemo } from "./planemos/telluricPlanemo/telluricPlanemo"; -import { ChunkForge } from "./planemos/telluricPlanemo/terrain/chunks/chunkForge"; -import HavokPhysics from "@babylonjs/havok"; -import { HavokPlugin } from "@babylonjs/core/Physics/v2/Plugins/havokPlugin"; -import { setMaxLinVel } from "./utils/havok"; -import { DefaultController } from "./defaultController/defaultController"; -import { FlatCloudsPostProcess } from "./postProcesses/flatCloudsPostProcess"; -import { StarfieldPostProcess } from "./postProcesses/starfieldPostProcess"; -import { Quaternion } from "@babylonjs/core/Maths/math"; -import { RingsPostProcess } from "./postProcesses/rings/ringsPostProcess"; -import { RingsUniforms } from "./postProcesses/rings/ringsUniform"; +import { DefaultController } from "./defaultController/defaultController" +import { PointLightWrapper, TransformNodeWrapper } from "./utils/wrappers"; +import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; +import { PointLight } from "@babylonjs/core/Lights/pointLight"; const canvas = document.getElementById("renderer") as HTMLCanvasElement; canvas.width = window.innerWidth; @@ -30,8 +21,6 @@ canvas.height = window.innerHeight; const wasmPath = new URL("./utils/TWGSL/twgsl.wasm", import.meta.url); const jsPath = new URL("./utils/TWGSL/twgsl.js", import.meta.url); -console.log(wasmPath, jsPath); - const engine = await EngineFactory.CreateAsync(canvas, { twgslOptions: { wasmPath: wasmPath.href, @@ -44,83 +33,37 @@ engine.useReverseDepthBuffer = true; const scene = new UberScene(engine); scene.useRightHandedSystem = true; -// Init Havok physics engine -const havokInstance = await HavokPhysics(); -const havokPlugin = new HavokPlugin(true, havokInstance); -setMaxLinVel(havokPlugin, 10000, 10000); -console.log(`Havok initialized`); - -scene.enablePhysics(Vector3.Zero(), havokPlugin); - await Assets.Init(scene); -const chunkForge = new ChunkForge(64); +const sphereRadius = 1e3; const defaultController = new DefaultController(scene); defaultController.addInput(new Keyboard()); defaultController.addInput(new Mouse(canvas)); -defaultController.getActiveCamera().maxZ = 1e3; -defaultController.speed *= 1000e3; +defaultController.getActiveCamera().maxZ = 1e6; +defaultController.speed *= sphereRadius; scene.setActiveController(defaultController); -const light = new DirectionalLight("dir01", new Vector3(1, -2, -1), scene); - -const sphereRadius = 1000e3; -const sphere = new TelluricPlanemo("sphere", scene, 0.5); -sphere.model.ringsUniforms = new RingsUniforms(sphere.model.rng); +const sphere = new TransformNodeWrapper(MeshBuilder.CreateSphere("sphere", {diameter: sphereRadius*2}, scene), sphereRadius); translate(sphere.getTransform(), new Vector3(0, 0, sphereRadius * 4)); -defaultController.getActiveCamera().maxZ = sphereRadius * 10; +const star = new PointLightWrapper(new PointLight("dir01", new Vector3(0, 1, 0), scene)); +translate(star.getTransform(), new Vector3(0, 0, -sphereRadius * 4)); -class LightWrapper implements Transformable { - readonly light: DirectionalLight; - readonly transform: TransformNode; - - constructor(light: DirectionalLight) { - this.light = light; - this.transform = new TransformNode("lightTransform"); - this.transform.position = light.direction.scale(-sphereRadius * 4); - } - - getTransform(): TransformNode { - return this.transform; - } -} -const wrappedLight = new LightWrapper(light); - -const starfield = new StarfieldPostProcess(scene, [wrappedLight], [sphere], Quaternion.Identity()); -defaultController.getActiveCamera().attachPostProcess(starfield); - -const ocean = new OceanPostProcess("ocean", sphere, scene, [wrappedLight]); +const ocean = new OceanPostProcess("ocean", sphere, scene, [star]); +ocean.oceanUniforms.oceanRadius = sphereRadius * 1.1; defaultController.getActiveCamera().attachPostProcess(ocean); -FlatCloudsPostProcess.CreateAsync("clouds", sphere, 10e3, scene, [wrappedLight]).then((clouds) => { - defaultController.getActiveCamera().attachPostProcess(clouds); - scene.onBeforeRenderObservable.add(() => clouds.update(scene.deltaTime * 0.001)); - - const atmosphere = new AtmosphericScatteringPostProcess("atmosphere", sphere, 100e3, scene, [wrappedLight]); - defaultController.getActiveCamera().attachPostProcess(atmosphere); - - RingsPostProcess.CreateAsync(sphere, scene, [wrappedLight]).then((rings) => { - defaultController.getActiveCamera().attachPostProcess(rings); - }); -}); - -scene.onBeforePhysicsObservable.add(() => { +scene.onBeforeRenderObservable.add(() => { const deltaTime = scene.deltaTime / 1000; - sphere.updateInternalClock(deltaTime); - sphere.computeCulling(defaultController.getActiveCamera()); - sphere.updateLOD(defaultController.getActiveCamera().getAbsolutePosition(), chunkForge); - chunkForge.update(); - sphere.updateMaterial(defaultController, [wrappedLight], deltaTime); - starfield.update(deltaTime); ocean.update(deltaTime); defaultController.update(scene.deltaTime); if (defaultController.getActiveCamera().getAbsolutePosition().length() > 100) { translate(sphere.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); + translate(star.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); translate(defaultController.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); } }); diff --git a/src/ts/postProcesses/oceanPostProcess.ts b/src/ts/postProcesses/oceanPostProcess.ts index 8fad31195..9ff2765c6 100644 --- a/src/ts/postProcesses/oceanPostProcess.ts +++ b/src/ts/postProcesses/oceanPostProcess.ts @@ -1,14 +1,14 @@ import { Effect } from "@babylonjs/core/Materials/effect"; import oceanFragment from "../../shaders/oceanFragment.glsl"; -import { Assets } from "../assets"; import { UberScene } from "../uberCore/uberScene"; import { UberPostProcess } from "../uberCore/postProcesses/uberPostProcess"; import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObjectsUniforms } from "./uniforms"; import { ObjectPostProcess } from "./objectPostProcess"; import { getInverseRotationQuaternion, Transformable } from "../uberCore/transforms/basicTransform"; import { UniformEnumType, ShaderSamplers, ShaderUniforms, SamplerEnumType } from "../uberCore/postProcesses/types"; -import { BaseObject } from "../bodies/common"; +import { BoundingSphere } from "../bodies/common"; +import { Assets } from "../assets"; export type OceanUniforms = { oceanRadius: number; @@ -22,9 +22,9 @@ export type OceanUniforms = { export class OceanPostProcess extends UberPostProcess implements ObjectPostProcess { readonly oceanUniforms: OceanUniforms; - readonly object: BaseObject; + readonly object: Transformable; - constructor(name: string, planet: BaseObject, scene: UberScene, stars: Transformable[]) { + constructor(name: string, planet: Transformable & BoundingSphere, scene: UberScene, stars: Transformable[]) { const shaderName = "ocean"; if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { diff --git a/src/ts/postProcesses/starfieldPostProcess.ts b/src/ts/postProcesses/starfieldPostProcess.ts index 7c9a62c28..18abbefeb 100644 --- a/src/ts/postProcesses/starfieldPostProcess.ts +++ b/src/ts/postProcesses/starfieldPostProcess.ts @@ -18,9 +18,8 @@ import { Transformable } from "../uberCore/transforms/basicTransform"; export class StarfieldPostProcess extends UberPostProcess { constructor(scene: UberScene, stellarObjects: Transformable[], bodies: AbstractBody[], starfieldRotation: Quaternion) { - const shaderName = "starfield"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = starfieldFragment; } @@ -40,6 +39,8 @@ export class StarfieldPostProcess extends UberPostProcess { name: "visibility", type: UniformEnumType.Float, get: () => { + if (bodies.length === 0) return 1; + //TODO: should be cleaned up let vis = 1.0; for (const star of stellarObjects) { diff --git a/src/ts/uberCore/uberScene.ts b/src/ts/uberCore/uberScene.ts index 942299230..a1d2d8e26 100644 --- a/src/ts/uberCore/uberScene.ts +++ b/src/ts/uberCore/uberScene.ts @@ -27,9 +27,7 @@ export class UberScene extends Scene { } public setActiveCamera(camera: Camera) { - if (this.activeCamera !== null) this.activeCamera.detachControl(this.getEngine().getRenderingCanvas()); this.activeCamera = camera; - camera.attachControl(this.getEngine().getRenderingCanvas(), true); if (this.depthRenderer !== null) this.depthRenderer.dispose(); this.depthRenderer = this.enableDepthRenderer(null, false, true); diff --git a/src/ts/utils/wrappers.ts b/src/ts/utils/wrappers.ts index a50ad5bf2..2e788e195 100644 --- a/src/ts/utils/wrappers.ts +++ b/src/ts/utils/wrappers.ts @@ -3,6 +3,7 @@ import { BoundingSphere } from "../bodies/common"; import { TransformNode } from "@babylonjs/core/Meshes"; import { Quaternion } from "@babylonjs/core/Maths/math"; import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; +import { PointLight } from "@babylonjs/core/Lights/pointLight"; export class TransformNodeWrapper implements Transformable, BoundingSphere { readonly transform: TransformNode; @@ -29,6 +30,22 @@ export class DirectionalLightWrapper implements Transformable { constructor(light: DirectionalLight) { this.light = light; this.transform = new TransformNode("lightTransform"); + this.light.parent = this.transform; + } + + getTransform(): TransformNode { + return this.transform; + } +} + +export class PointLightWrapper implements Transformable { + readonly light: PointLight; + readonly transform: TransformNode; + + constructor(light: PointLight) { + this.light = light; + this.transform = new TransformNode("lightTransform"); + this.light.parent = this.transform; } getTransform(): TransformNode { From 3afc7ff849e3a3f0b4aec6a35f86d707a3578279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 18:20:37 +0100 Subject: [PATCH 30/51] Understanding depth issue While I thought WebGPU had a lower precision, it is actually an issue with google chrome unstable --- src/ts/defaultController/defaultController.ts | 3 +- src/ts/playground.ts | 133 +++++------------- .../uberCore/postProcesses/uberPostProcess.ts | 4 +- src/ts/uberCore/uberScene.ts | 2 - 4 files changed, 37 insertions(+), 105 deletions(-) diff --git a/src/ts/defaultController/defaultController.ts b/src/ts/defaultController/defaultController.ts index f249eb880..1982800ca 100644 --- a/src/ts/defaultController/defaultController.ts +++ b/src/ts/defaultController/defaultController.ts @@ -72,8 +72,7 @@ export class DefaultController extends AbstractController { public override update(deltaTime: number): Vector3 { const playerMovement = Vector3.Zero(); - //FIXME: the division by Settings.TIME_MULTIPLIER is a hack to make the player move at the same speed regardless of the time multiplier - for (const input of this.inputs) playerMovement.addInPlace(this.listenTo(input, this.transform.getScene().getEngine().getDeltaTime() / 1000)); + for (const input of this.inputs) playerMovement.addInPlace(this.listenTo(input, this.transform.getScene().deltaTime / 1000)); translate(this.transform, playerMovement); return playerMovement; } diff --git a/src/ts/playground.ts b/src/ts/playground.ts index cac244a4a..946e74767 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -1,127 +1,62 @@ import "../styles/index.scss"; -import { Assets } from "./assets"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; -import { OceanPostProcess } from "./postProcesses/oceanPostProcess"; -import { TransformNode } from "@babylonjs/core/Meshes"; import { UberScene } from "./uberCore/uberScene"; -import { Transformable, translate } from "./uberCore/transforms/basicTransform"; -import { Keyboard } from "./inputs/keyboard"; -import { Mouse } from "./inputs/mouse"; +import { translate } from "./uberCore/transforms/basicTransform"; import { EngineFactory } from "@babylonjs/core"; -import { AtmosphericScatteringPostProcess } from "./postProcesses/atmosphericScatteringPostProcess"; -import { TelluricPlanemo } from "./planemos/telluricPlanemo/telluricPlanemo"; -import { ChunkForge } from "./planemos/telluricPlanemo/terrain/chunks/chunkForge"; -import HavokPhysics from "@babylonjs/havok"; -import { HavokPlugin } from "@babylonjs/core/Physics/v2/Plugins/havokPlugin"; -import { setMaxLinVel } from "./utils/havok"; +import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; +import { DirectionalLightWrapper, TransformNodeWrapper } from "./utils/wrappers"; +import { FreeCamera } from "@babylonjs/core/Cameras/freeCamera"; +import { OceanPostProcess } from "./postProcesses/oceanPostProcess"; import { DefaultController } from "./defaultController/defaultController"; -import { FlatCloudsPostProcess } from "./postProcesses/flatCloudsPostProcess"; -import { StarfieldPostProcess } from "./postProcesses/starfieldPostProcess"; -import { Quaternion } from "@babylonjs/core/Maths/math"; -import { RingsPostProcess } from "./postProcesses/rings/ringsPostProcess"; -import { RingsUniforms } from "./postProcesses/rings/ringsUniform"; +import { Keyboard } from "./inputs/keyboard"; +import { Mouse } from "./inputs/mouse"; + +// target alignment with https://www.babylonjs-playground.com/#1PHYB0#366 const canvas = document.getElementById("renderer") as HTMLCanvasElement; canvas.width = window.innerWidth; canvas.height = window.innerHeight; -const wasmPath = new URL("./utils/TWGSL/twgsl.wasm", import.meta.url); -const jsPath = new URL("./utils/TWGSL/twgsl.js", import.meta.url); - -console.log(wasmPath, jsPath); - -const engine = await EngineFactory.CreateAsync(canvas, { - twgslOptions: { - wasmPath: wasmPath.href, - jsPath: jsPath.href - } -}); - +const engine = await EngineFactory.CreateAsync(canvas, {}); engine.useReverseDepthBuffer = true; +console.log(engine.getCaps()); +console.log(engine.getCaps().textureFloatRender); + const scene = new UberScene(engine); scene.useRightHandedSystem = true; -// Init Havok physics engine -const havokInstance = await HavokPhysics(); -const havokPlugin = new HavokPlugin(true, havokInstance); -setMaxLinVel(havokPlugin, 10000, 10000); -console.log(`Havok initialized`); +const sphereRadius = 1e3; -scene.enablePhysics(Vector3.Zero(), havokPlugin); +const controller = new DefaultController(scene); +controller.addInput(new Keyboard()); +controller.addInput(new Mouse(canvas)); +controller.speed *= sphereRadius; +const camera = controller.getActiveCamera(); +camera.maxZ = sphereRadius * 1000; -await Assets.Init(scene); +scene.setActiveController(controller); -const chunkForge = new ChunkForge(64); +const light = new DirectionalLight("dir01", new Vector3(1, 1, 1).normalize(), scene); -const defaultController = new DefaultController(scene); -defaultController.addInput(new Keyboard()); -defaultController.addInput(new Mouse(canvas)); -defaultController.getActiveCamera().maxZ = 1e3; -defaultController.speed *= 1000e3; -scene.setActiveController(defaultController); +const planet = new TransformNodeWrapper(MeshBuilder.CreateSphere("sphere", { diameter: sphereRadius * 2 }, scene), sphereRadius); +translate(planet.getTransform(), new Vector3(0, 0, sphereRadius * 4)); -const light = new DirectionalLight("dir01", new Vector3(1, -2, -1), scene); +const wrappedLight = new DirectionalLightWrapper(light); +translate(wrappedLight.getTransform(),light.direction.scale(-sphereRadius * 4)); -const sphereRadius = 1000e3; -const sphere = new TelluricPlanemo("sphere", scene, 0.5); -sphere.model.ringsUniforms = new RingsUniforms(sphere.model.rng); -translate(sphere.getTransform(), new Vector3(0, 0, sphereRadius * 4)); +const ocean = new OceanPostProcess("ocean", planet, scene, [wrappedLight]); +ocean.oceanUniforms.oceanRadius = sphereRadius * 1.2; +camera.attachPostProcess(ocean); -defaultController.getActiveCamera().maxZ = sphereRadius * 10; - -class LightWrapper implements Transformable { - readonly light: DirectionalLight; - readonly transform: TransformNode; - - constructor(light: DirectionalLight) { - this.light = light; - this.transform = new TransformNode("lightTransform"); - this.transform.position = light.direction.scale(-sphereRadius * 4); - } - - getTransform(): TransformNode { - return this.transform; - } -} - -const wrappedLight = new LightWrapper(light); - -const starfield = new StarfieldPostProcess(scene, [wrappedLight], [sphere], Quaternion.Identity()); -defaultController.getActiveCamera().attachPostProcess(starfield); - -const ocean = new OceanPostProcess("ocean", sphere, scene, [wrappedLight]); -defaultController.getActiveCamera().attachPostProcess(ocean); - -FlatCloudsPostProcess.CreateAsync("clouds", sphere, 10e3, scene, [wrappedLight]).then((clouds) => { - defaultController.getActiveCamera().attachPostProcess(clouds); - scene.onBeforeRenderObservable.add(() => clouds.update(scene.deltaTime * 0.001)); - - const atmosphere = new AtmosphericScatteringPostProcess("atmosphere", sphere, 100e3, scene, [wrappedLight]); - defaultController.getActiveCamera().attachPostProcess(atmosphere); - - RingsPostProcess.CreateAsync(sphere, scene, [wrappedLight]).then((rings) => { - defaultController.getActiveCamera().attachPostProcess(rings); - }); -}); +scene.onBeforeRenderObservable.add(() => { + controller.update(scene.deltaTime / 1000); -scene.onBeforePhysicsObservable.add(() => { - const deltaTime = scene.deltaTime / 1000; - sphere.updateInternalClock(deltaTime); - sphere.computeCulling(defaultController.getActiveCamera()); - sphere.updateLOD(defaultController.getActiveCamera().getAbsolutePosition(), chunkForge); - chunkForge.update(); - sphere.updateMaterial(defaultController, [wrappedLight], deltaTime); - - starfield.update(deltaTime); - ocean.update(deltaTime); - - defaultController.update(scene.deltaTime); - if (defaultController.getActiveCamera().getAbsolutePosition().length() > 100) { - translate(sphere.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); - translate(defaultController.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); + if (controller.getTransform().getAbsolutePosition().length() > 100) { + translate(planet.getTransform(), controller.getTransform().getAbsolutePosition().negate()); + translate(controller.getTransform(), controller.getTransform().getAbsolutePosition().negate()); } }); diff --git a/src/ts/uberCore/postProcesses/uberPostProcess.ts b/src/ts/uberCore/postProcesses/uberPostProcess.ts index 9906ee439..5ef27d157 100644 --- a/src/ts/uberCore/postProcesses/uberPostProcess.ts +++ b/src/ts/uberCore/postProcesses/uberPostProcess.ts @@ -11,13 +11,13 @@ import { Scene } from "@babylonjs/core/scene"; /** * A wrapper around BabylonJS post processes that allows more predictable and easier to use uniforms */ -export abstract class UberPostProcess extends PostProcess implements UpdatablePostProcess { +export class UberPostProcess extends PostProcess implements UpdatablePostProcess { private readonly uniforms: ShaderUniforms = []; private readonly samplers: ShaderSamplers = []; readonly onUpdatedObservable = new Observable(); - protected constructor(name: string, fragmentName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, scene: Scene) { + constructor(name: string, fragmentName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, scene: Scene) { const uniformNames = uniforms.map((uniform) => uniform.name); const samplerNames = samplers.map((sampler) => sampler.name); diff --git a/src/ts/uberCore/uberScene.ts b/src/ts/uberCore/uberScene.ts index 942299230..a1d2d8e26 100644 --- a/src/ts/uberCore/uberScene.ts +++ b/src/ts/uberCore/uberScene.ts @@ -27,9 +27,7 @@ export class UberScene extends Scene { } public setActiveCamera(camera: Camera) { - if (this.activeCamera !== null) this.activeCamera.detachControl(this.getEngine().getRenderingCanvas()); this.activeCamera = camera; - camera.attachControl(this.getEngine().getRenderingCanvas(), true); if (this.depthRenderer !== null) this.depthRenderer.dispose(); this.depthRenderer = this.enableDepthRenderer(null, false, true); From 135a9a44b3b949db5977cae22c213695f410b811 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 20:20:09 +0100 Subject: [PATCH 31/51] added optional webgpu through url --- src/ts/cosmosJourneyer.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/ts/cosmosJourneyer.ts b/src/ts/cosmosJourneyer.ts index bf70f642c..3850c36ac 100644 --- a/src/ts/cosmosJourneyer.ts +++ b/src/ts/cosmosJourneyer.ts @@ -16,6 +16,7 @@ import { setMaxLinVel } from "./utils/havok"; import { Observable } from "@babylonjs/core/Misc/observable"; import { PauseMenu } from "./ui/pauseMenu"; import { StarSystemView } from "./starSystem/StarSystemView"; +import { EngineFactory } from "@babylonjs/core/Engines/engineFactory"; enum EngineState { RUNNING, @@ -80,8 +81,17 @@ export class CosmosJourneyer { * @returns A promise that resolves when the engine and the scenes are created and the assets are loaded */ public async setup(): Promise { - // Init BabylonJS engine - this.engine = new Engine(this.canvas); //await EngineFactory.CreateAsync(this.canvas, { enableAllFeatures: true }); + // Init BabylonJS engine (use webgpu if ?webgpu is in the url) + this.engine = window.location.search.includes("webgpu") + ? await EngineFactory.CreateAsync(this.canvas, { + twgslOptions: { + wasmPath: new URL("./utils/TWGSL/twgsl.wasm", import.meta.url).href, + jsPath: new URL("./utils/TWGSL/twgsl.js", import.meta.url).href + } + }) + : new Engine(this.canvas); + + //this.engine = new Engine(this.canvas); //await EngineFactory.CreateAsync(this.canvas, { enableAllFeatures: true }); this.engine.useReverseDepthBuffer = true; this.engine.loadingScreen.displayLoadingUI(); window.addEventListener("resize", () => { From 7bf6c1f94d8dc109e1aa4e504b840d872f60831e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 20:20:18 +0100 Subject: [PATCH 32/51] small tweaks --- src/ts/index.ts | 6 +++--- src/ts/playground.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ts/index.ts b/src/ts/index.ts index 47e916975..7579db541 100644 --- a/src/ts/index.ts +++ b/src/ts/index.ts @@ -39,19 +39,19 @@ const gamepad = new Gamepad(); const defaultController = new DefaultController(starSystemView.scene); defaultController.speed = 0.2 * Settings.EARTH_RADIUS; -defaultController.getActiveCamera().maxZ = Settings.EARTH_RADIUS * 100000; +defaultController.getActiveCamera().maxZ = Settings.EARTH_RADIUS * 1e5; defaultController.addInput(keyboard); defaultController.addInput(mouse); defaultController.addInput(gamepad); const spaceshipController = new ShipController(starSystemView.scene); -spaceshipController.getActiveCamera().maxZ = Settings.EARTH_RADIUS * 100000; +spaceshipController.getActiveCamera().maxZ = Settings.EARTH_RADIUS * 1e5; spaceshipController.addInput(keyboard); spaceshipController.addInput(gamepad); spaceshipController.addInput(mouse); const characterController = new CharacterController(starSystemView.scene); -characterController.getActiveCamera().maxZ = Settings.EARTH_RADIUS * 100000; +characterController.getActiveCamera().maxZ = Settings.EARTH_RADIUS * 1e5; characterController.addInput(keyboard); characterController.addInput(gamepad); characterController.addInput(mouse); diff --git a/src/ts/playground.ts b/src/ts/playground.ts index b2e98a4b3..7954adb8c 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -48,7 +48,7 @@ const sphere = new TransformNodeWrapper(MeshBuilder.CreateSphere("sphere", {diam translate(sphere.getTransform(), new Vector3(0, 0, sphereRadius * 4)); const star = new PointLightWrapper(new PointLight("dir01", new Vector3(0, 1, 0), scene)); -translate(star.getTransform(), new Vector3(0, 0, -sphereRadius * 4)); +translate(star.getTransform(), new Vector3(0, 0, -sphereRadius * 4e3)); const ocean = new OceanPostProcess("ocean", sphere, scene, [star]); From c6188fc2d094a0f638f8777efd1370776b2eb8d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 20:46:59 +0100 Subject: [PATCH 33/51] fixed webgpu error with shadow postprocess Added empty bindings --- src/shaders/rings/ringsDensity.glsl | 1 - src/ts/assets.ts | 4 +++ src/ts/postProcesses/rings/ringsUniform.ts | 40 ++++++++++++++++++++++ src/ts/postProcesses/shadowPostProcess.ts | 9 +++++ 4 files changed, 53 insertions(+), 1 deletion(-) diff --git a/src/shaders/rings/ringsDensity.glsl b/src/shaders/rings/ringsDensity.glsl index bd4697e4f..77902cfc4 100644 --- a/src/shaders/rings/ringsDensity.glsl +++ b/src/shaders/rings/ringsDensity.glsl @@ -2,7 +2,6 @@ #include "../utils/remap.glsl"; -#define inline float ringDensityAtPoint(vec3 samplePoint) { vec3 samplePointPlanetSpace = samplePoint - object_position; diff --git a/src/ts/assets.ts b/src/ts/assets.ts index 05ef16b0f..7cde59685 100644 --- a/src/ts/assets.ts +++ b/src/ts/assets.ts @@ -61,6 +61,8 @@ export class Assets { static Starfield: Texture; static PlumeParticle: Texture; + static EmptyTexture: Texture; + static ProceduralTest: ProceduralTexture; static AtmosphereLUT: ProceduralTexture; @@ -102,6 +104,8 @@ export class Assets { Assets.AtmosphereLUT = new ProceduralTexture("atmosphereLUT", 100, { fragmentSource: atmosphereLUT }, scene, undefined, false, false); Assets.AtmosphereLUT.refreshRate = 0; + Assets.EmptyTexture = new Texture(null, scene); + const spaceshipTask = Assets.manager.addMeshTask("spaceshipTask", "", "", spaceship); spaceshipTask.onSuccess = function (task: MeshAssetTask) { Assets.Spaceship = task.loadedMeshes[0] as Mesh; diff --git a/src/ts/postProcesses/rings/ringsUniform.ts b/src/ts/postProcesses/rings/ringsUniform.ts index 08251e883..571bcfcda 100644 --- a/src/ts/postProcesses/rings/ringsUniform.ts +++ b/src/ts/postProcesses/rings/ringsUniform.ts @@ -18,6 +18,46 @@ export class RingsUniforms { this.ringColor = new Color3(214, 168, 122).scaleInPlace(randRange(1.0, 1.5, rng, 1430) / 255); } + static getEmptyShaderUniforms(): ShaderUniforms { + return [ + { + name: "rings_start", + type: UniformEnumType.Float, + get: () => { + return 0; + } + }, + { + name: "rings_end", + type: UniformEnumType.Float, + get: () => { + return 0; + } + }, + { + name: "rings_frequency", + type: UniformEnumType.Float, + get: () => { + return 0; + } + }, + { + name: "rings_opacity", + type: UniformEnumType.Float, + get: () => { + return 0; + } + }, + { + name: "rings_color", + type: UniformEnumType.Color3, + get: () => { + return new Color3(0, 0, 0); + } + } + ]; + } + getShaderUniforms(): ShaderUniforms { return [ { diff --git a/src/ts/postProcesses/shadowPostProcess.ts b/src/ts/postProcesses/shadowPostProcess.ts index 07dc8569d..3a0a3893d 100644 --- a/src/ts/postProcesses/shadowPostProcess.ts +++ b/src/ts/postProcesses/shadowPostProcess.ts @@ -10,6 +10,7 @@ import { SamplerEnumType, ShaderSamplers, ShaderUniforms, UniformEnumType } from import { PostProcessType } from "./postProcessTypes"; import { RingsUniforms } from "./rings/ringsUniform"; import { RingsPostProcess } from "./rings/ringsPostProcess"; +import { Assets } from "../assets"; export type ShadowUniforms = { hasRings: boolean; @@ -85,6 +86,14 @@ export class ShadowPostProcess extends UberPostProcess implements ObjectPostProc }); }); } else { + uniforms.push(...RingsUniforms.getEmptyShaderUniforms()); + samplers.push({ + name: "ringsLUT", + type: SamplerEnumType.Texture, + get: () => { + return Assets.EmptyTexture; + } + }); return new ShadowPostProcess(body.name + "Shadow", body, scene, shaderName, uniforms, samplers, shadowUniforms); } } From f386e2ac461886b772c4b347160324fd6afe04b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 20:47:03 +0100 Subject: [PATCH 34/51] Update index.ts --- src/ts/index.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/ts/index.ts b/src/ts/index.ts index 7579db541..7c7a0295d 100644 --- a/src/ts/index.ts +++ b/src/ts/index.ts @@ -37,21 +37,23 @@ const mouse = new Mouse(engine.canvas, 100); const keyboard = new Keyboard(); const gamepad = new Gamepad(); +const maxZ = Settings.EARTH_RADIUS * 1e5; + const defaultController = new DefaultController(starSystemView.scene); defaultController.speed = 0.2 * Settings.EARTH_RADIUS; -defaultController.getActiveCamera().maxZ = Settings.EARTH_RADIUS * 1e5; +defaultController.getActiveCamera().maxZ = maxZ; defaultController.addInput(keyboard); defaultController.addInput(mouse); defaultController.addInput(gamepad); const spaceshipController = new ShipController(starSystemView.scene); -spaceshipController.getActiveCamera().maxZ = Settings.EARTH_RADIUS * 1e5; +spaceshipController.getActiveCamera().maxZ = maxZ; spaceshipController.addInput(keyboard); spaceshipController.addInput(gamepad); spaceshipController.addInput(mouse); const characterController = new CharacterController(starSystemView.scene); -characterController.getActiveCamera().maxZ = Settings.EARTH_RADIUS * 1e5; +characterController.getActiveCamera().maxZ = maxZ; characterController.addInput(keyboard); characterController.addInput(gamepad); characterController.addInput(mouse); From 71927c59f907a7ded1c61a374e6a4fe2ec2fe212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 20:47:19 +0100 Subject: [PATCH 35/51] fixed: all postprocesses are not updatable --- src/ts/postProcesses/blackHolePostProcess.ts | 4 ++++ src/ts/postProcesses/flatCloudsPostProcess.ts | 11 ++++++----- src/ts/postProcesses/matterJetPostProcess.ts | 8 ++++++-- src/ts/postProcesses/objectPostProcess.ts | 2 +- src/ts/postProcesses/oceanPostProcess.ts | 15 +++++++-------- src/ts/postProcesses/postProcessManager.ts | 4 ++-- src/ts/postProcesses/volumetricLight.ts | 8 ++------ src/ts/uberCore/postProcesses/uberPostProcess.ts | 10 +--------- 8 files changed, 29 insertions(+), 33 deletions(-) diff --git a/src/ts/postProcesses/blackHolePostProcess.ts b/src/ts/postProcesses/blackHolePostProcess.ts index e673f3dfa..b1edc43f4 100644 --- a/src/ts/postProcesses/blackHolePostProcess.ts +++ b/src/ts/postProcesses/blackHolePostProcess.ts @@ -98,4 +98,8 @@ export class BlackHolePostProcess extends UberPostProcess implements ObjectPostP this.object = blackHole; this.blackHoleUniforms = blackHoleUniforms; } + + public update(deltaTime: number): void { + this.blackHoleUniforms.time += deltaTime; + } } diff --git a/src/ts/postProcesses/flatCloudsPostProcess.ts b/src/ts/postProcesses/flatCloudsPostProcess.ts index c52469fed..0fd2026aa 100644 --- a/src/ts/postProcesses/flatCloudsPostProcess.ts +++ b/src/ts/postProcesses/flatCloudsPostProcess.ts @@ -8,7 +8,7 @@ import { UberScene } from "../uberCore/uberScene"; import { UberPostProcess } from "../uberCore/postProcesses/uberPostProcess"; import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObjectsUniforms } from "./uniforms"; import { TelluricPlanemo } from "../planemos/telluricPlanemo/telluricPlanemo"; -import { ObjectPostProcess } from "./objectPostProcess"; +import { ObjectPostProcess, UpdatablePostProcess } from "./objectPostProcess"; import { SamplerEnumType, ShaderSamplers, ShaderUniforms, UniformEnumType } from "../uberCore/postProcesses/types"; import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture"; import { Scene } from "@babylonjs/core/scene"; @@ -29,7 +29,7 @@ export interface CloudUniforms { time: number; } -export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPostProcess { +export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPostProcess, UpdatablePostProcess { readonly cloudUniforms: CloudUniforms; readonly object: TelluricPlanemo; @@ -158,9 +158,6 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost return new Promise((resolve, reject) => { lut.executeWhenReady(() => { const postProcess = new FlatCloudsPostProcess(name, shaderName, planet, cloudUniforms, uniforms, samplers, scene); - postProcess.onUpdatedObservable.add((deltaTime: number) => { - cloudUniforms.time += deltaTime; - }); resolve(postProcess); }); @@ -194,4 +191,8 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost return lut; } + + public update(deltaTime: number): void { + this.cloudUniforms.time += deltaTime; + } } diff --git a/src/ts/postProcesses/matterJetPostProcess.ts b/src/ts/postProcesses/matterJetPostProcess.ts index bac0d4dc5..5ec19fdf8 100644 --- a/src/ts/postProcesses/matterJetPostProcess.ts +++ b/src/ts/postProcesses/matterJetPostProcess.ts @@ -4,7 +4,7 @@ import { getActiveCameraUniforms, getObjectUniforms, getSamplers } from "./unifo import { UberPostProcess } from "../uberCore/postProcesses/uberPostProcess"; import { Effect } from "@babylonjs/core/Materials/effect"; import { StellarObject } from "../stellarObjects/stellarObject"; -import { ObjectPostProcess } from "./objectPostProcess"; +import { ObjectPostProcess, UpdatablePostProcess } from "./objectPostProcess"; import { UniformEnumType, ShaderSamplers, ShaderUniforms } from "../uberCore/postProcesses/types"; import { BaseObject } from "../bodies/common"; @@ -17,7 +17,7 @@ export interface MatterJetUniforms { /** * Post process for rendering matter jets that are used by neutron stars for example */ -export class MatterJetPostProcess extends UberPostProcess implements ObjectPostProcess { +export class MatterJetPostProcess extends UberPostProcess implements ObjectPostProcess, UpdatablePostProcess { matterJetUniforms: MatterJetUniforms; object: BaseObject; @@ -66,4 +66,8 @@ export class MatterJetPostProcess extends UberPostProcess implements ObjectPostP this.object = stellarObject; this.matterJetUniforms = settings; } + + public update(deltaTime: number): void { + this.matterJetUniforms.time += deltaTime; + } } diff --git a/src/ts/postProcesses/objectPostProcess.ts b/src/ts/postProcesses/objectPostProcess.ts index f1f2f965c..9a5a556cd 100644 --- a/src/ts/postProcesses/objectPostProcess.ts +++ b/src/ts/postProcesses/objectPostProcess.ts @@ -10,7 +10,7 @@ export interface UpdatablePostProcess extends PostProcess { update(deltaTime: number): void; } -export interface ObjectPostProcess extends UpdatablePostProcess { +export interface ObjectPostProcess extends PostProcess { /** * The object this post process will be attached to. * This makes sense for raymarching and raytracing shaders that need to know the position of the object. diff --git a/src/ts/postProcesses/oceanPostProcess.ts b/src/ts/postProcesses/oceanPostProcess.ts index 9ff2765c6..7d91a12b8 100644 --- a/src/ts/postProcesses/oceanPostProcess.ts +++ b/src/ts/postProcesses/oceanPostProcess.ts @@ -4,7 +4,7 @@ import oceanFragment from "../../shaders/oceanFragment.glsl"; import { UberScene } from "../uberCore/uberScene"; import { UberPostProcess } from "../uberCore/postProcesses/uberPostProcess"; import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObjectsUniforms } from "./uniforms"; -import { ObjectPostProcess } from "./objectPostProcess"; +import { ObjectPostProcess, UpdatablePostProcess } from "./objectPostProcess"; import { getInverseRotationQuaternion, Transformable } from "../uberCore/transforms/basicTransform"; import { UniformEnumType, ShaderSamplers, ShaderUniforms, SamplerEnumType } from "../uberCore/postProcesses/types"; import { BoundingSphere } from "../bodies/common"; @@ -20,14 +20,13 @@ export type OceanUniforms = { time: number; }; -export class OceanPostProcess extends UberPostProcess implements ObjectPostProcess { +export class OceanPostProcess extends UberPostProcess implements ObjectPostProcess, UpdatablePostProcess { readonly oceanUniforms: OceanUniforms; readonly object: Transformable; constructor(name: string, planet: Transformable & BoundingSphere, scene: UberScene, stars: Transformable[]) { - const shaderName = "ocean"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = oceanFragment; } @@ -127,9 +126,9 @@ export class OceanPostProcess extends UberPostProcess implements ObjectPostProce this.object = planet; this.oceanUniforms = oceanUniforms; + } - this.onUpdatedObservable.add((deltaTime: number) => { - this.oceanUniforms.time += deltaTime; - }); + public update(deltaTime: number) { + this.oceanUniforms.time += deltaTime; } -} +} \ No newline at end of file diff --git a/src/ts/postProcesses/postProcessManager.ts b/src/ts/postProcesses/postProcessManager.ts index 675c9489b..3e4d3f943 100644 --- a/src/ts/postProcesses/postProcessManager.ts +++ b/src/ts/postProcesses/postProcessManager.ts @@ -83,7 +83,7 @@ export class PostProcessManager { private readonly starFields: StarfieldPostProcess[] = []; private readonly volumetricLights: VolumetricLight[] = []; private readonly oceans: OceanPostProcess[] = []; - private readonly clouds: CloudsPostProcess[] = []; + private readonly clouds: FlatCloudsPostProcess[] = []; private readonly atmospheres: AtmosphericScatteringPostProcess[] = []; private readonly rings: RingsPostProcess[] = []; private readonly mandelbulbs: MandelbulbPostProcess[] = []; @@ -111,7 +111,7 @@ export class PostProcessManager { /** * All post processes that are updated every frame. */ - private readonly updatablePostProcesses: UpdatablePostProcess[][] = [this.starFields, this.volumetricLights, ...this.objectPostProcesses]; + private readonly updatablePostProcesses: UpdatablePostProcess[][] = [this.oceans, this.clouds, this.blackHoles, this.matterJets]; readonly colorCorrection: ColorCorrection; readonly fxaa: FxaaPostProcess; diff --git a/src/ts/postProcesses/volumetricLight.ts b/src/ts/postProcesses/volumetricLight.ts index b0ada612e..8717e78cf 100644 --- a/src/ts/postProcesses/volumetricLight.ts +++ b/src/ts/postProcesses/volumetricLight.ts @@ -1,10 +1,10 @@ import { VolumetricLightScatteringPostProcess } from "@babylonjs/core/PostProcesses/volumetricLightScatteringPostProcess"; import { UberScene } from "../uberCore/uberScene"; import { Texture } from "@babylonjs/core/Materials/Textures/texture"; -import { ObjectPostProcess, UpdatablePostProcess } from "./objectPostProcess"; +import { ObjectPostProcess } from "./objectPostProcess"; import { Star } from "../stellarObjects/star/star"; -export class VolumetricLight extends VolumetricLightScatteringPostProcess implements UpdatablePostProcess, ObjectPostProcess { +export class VolumetricLight extends VolumetricLightScatteringPostProcess implements ObjectPostProcess { readonly object: Star; constructor(star: Star, scene: UberScene) { @@ -18,10 +18,6 @@ export class VolumetricLight extends VolumetricLightScatteringPostProcess implem this.getCamera().detachPostProcess(this); } - public update(deltaTime: number): void { - return; - } - public override dispose(): void { super.dispose(this.getCamera()); } diff --git a/src/ts/uberCore/postProcesses/uberPostProcess.ts b/src/ts/uberCore/postProcesses/uberPostProcess.ts index 5ef27d157..58d8454da 100644 --- a/src/ts/uberCore/postProcesses/uberPostProcess.ts +++ b/src/ts/uberCore/postProcesses/uberPostProcess.ts @@ -3,20 +3,16 @@ import { flattenVector3Array, flattenVector4Array } from "../../utils/algebra"; import { Color3 } from "@babylonjs/core/Maths/math.color"; import { Texture } from "@babylonjs/core/Materials/Textures/texture"; import { PostProcess } from "@babylonjs/core/PostProcesses/postProcess"; -import { UpdatablePostProcess } from "../../postProcesses/objectPostProcess"; import { UniformEnumType, ShaderSamplers, ShaderUniforms, SamplerEnumType } from "./types"; -import { Observable } from "@babylonjs/core/Misc/observable"; import { Scene } from "@babylonjs/core/scene"; /** * A wrapper around BabylonJS post processes that allows more predictable and easier to use uniforms */ -export class UberPostProcess extends PostProcess implements UpdatablePostProcess { +export class UberPostProcess extends PostProcess { private readonly uniforms: ShaderUniforms = []; private readonly samplers: ShaderSamplers = []; - readonly onUpdatedObservable = new Observable(); - constructor(name: string, fragmentName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, scene: Scene) { const uniformNames = uniforms.map((uniform) => uniform.name); const samplerNames = samplers.map((sampler) => sampler.name); @@ -85,8 +81,4 @@ export class UberPostProcess extends PostProcess implements UpdatablePostProcess } } } - - public update(deltaTime: number) { - this.onUpdatedObservable.notifyObservers(deltaTime); - } } From 0af959eef1fc03fb8629318ce2509cb25b97fc47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 20:53:36 +0100 Subject: [PATCH 36/51] revert starfield change The depth check seemed better at first, but it would erase the UI that gets drawn on depth==1 areas --- src/shaders/starfieldFragment.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shaders/starfieldFragment.glsl b/src/shaders/starfieldFragment.glsl index 3ba1c9ba1..2b35f8cdd 100644 --- a/src/shaders/starfieldFragment.glsl +++ b/src/shaders/starfieldFragment.glsl @@ -32,7 +32,7 @@ void main() { vec2 starfieldUV = vec2(0.0); - if (depth == 1.0) { + if (screenColor == vec4(0.0)) { // get the starfield color // get spherical coordinates uv for the starfield texture starfieldUV = vec2( From d5714a13a0719061b4bd5f36cb27ab62f1bf61cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 21:05:09 +0100 Subject: [PATCH 37/51] fixed duplicated ring Lut --- .../postProcesses/rings/ringsPostProcess.ts | 28 +-------------- src/ts/postProcesses/rings/ringsUniform.ts | 36 +++++++++++++++++++ src/ts/postProcesses/shadowPostProcess.ts | 2 +- 3 files changed, 38 insertions(+), 28 deletions(-) diff --git a/src/ts/postProcesses/rings/ringsPostProcess.ts b/src/ts/postProcesses/rings/ringsPostProcess.ts index 6a77eed2a..c9f60731c 100644 --- a/src/ts/postProcesses/rings/ringsPostProcess.ts +++ b/src/ts/postProcesses/rings/ringsPostProcess.ts @@ -35,7 +35,7 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce ...ringsUniforms.getShaderUniforms() ]; - const lut = RingsPostProcess.CreateLUT(body.model.seed, ringsUniforms.ringStart, ringsUniforms.ringEnd, ringsUniforms.ringFrequency, scene); + const lut = ringsUniforms.getLUT(body.model.seed, ringsUniforms.ringStart, ringsUniforms.ringEnd, ringsUniforms.ringFrequency, scene); const samplers: ShaderSamplers = [ ...getSamplers(scene), @@ -62,30 +62,4 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce this.ringsUniforms = ringsUniforms; this.lut = lut; } - - static CreateLUT(seed: number, ringStart: number, ringEnd: number, frequency: number, scene: Scene): ProceduralTexture { - if(Effect.ShadersStore[`ringsLUTFragmentShader`] === undefined) { - Effect.ShadersStore[`ringsLUTFragmentShader`] = ringsLUT; - } - - const lut = new ProceduralTexture( - "ringsLUT", - { - width: 4096, - height: 1 - }, - "ringsLUT", - scene, - undefined, - true, - false - ); - lut.setFloat("seed", seed); - lut.setFloat("frequency", frequency); - lut.setFloat("ringStart", ringStart); - lut.setFloat("ringEnd", ringEnd); - lut.refreshRate = 0; - - return lut; - } } diff --git a/src/ts/postProcesses/rings/ringsUniform.ts b/src/ts/postProcesses/rings/ringsUniform.ts index 571bcfcda..f6aadb345 100644 --- a/src/ts/postProcesses/rings/ringsUniform.ts +++ b/src/ts/postProcesses/rings/ringsUniform.ts @@ -2,6 +2,10 @@ import { Color3 } from "@babylonjs/core/Maths/math.color"; import { normalRandom, randRange } from "extended-random"; import { clamp } from "terrain-generation"; import { ShaderUniforms, UniformEnumType } from "../../uberCore/postProcesses/types"; +import { Scene } from "@babylonjs/core/scene"; +import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture"; +import { Effect } from "@babylonjs/core/Materials/effect"; +import ringsLUT from "../../../shaders/textures/ringsLUT.glsl"; export class RingsUniforms { ringStart: number; @@ -10,6 +14,8 @@ export class RingsUniforms { ringOpacity: number; ringColor: Color3; + private ringLut: ProceduralTexture | null = null; + constructor(rng: (step: number) => number) { this.ringStart = randRange(1.8, 2.2, rng, 1400); this.ringEnd = randRange(2.1, 4.0, rng, 1410); @@ -97,4 +103,34 @@ export class RingsUniforms { } ]; } + + public getLUT(seed: number, ringStart: number, ringEnd: number, frequency: number, scene: Scene): ProceduralTexture { + if(Effect.ShadersStore[`ringsLUTFragmentShader`] === undefined) { + Effect.ShadersStore[`ringsLUTFragmentShader`] = ringsLUT; + } + + if(this.ringLut !== null) return this.ringLut; + + const lut = new ProceduralTexture( + "ringsLUT", + { + width: 4096, + height: 1 + }, + "ringsLUT", + scene, + undefined, + true, + false + ); + lut.setFloat("seed", seed); + lut.setFloat("frequency", frequency); + lut.setFloat("ringStart", ringStart); + lut.setFloat("ringEnd", ringEnd); + lut.refreshRate = 0; + + this.ringLut = lut; + + return lut; + } } diff --git a/src/ts/postProcesses/shadowPostProcess.ts b/src/ts/postProcesses/shadowPostProcess.ts index 3a0a3893d..e893dae20 100644 --- a/src/ts/postProcesses/shadowPostProcess.ts +++ b/src/ts/postProcesses/shadowPostProcess.ts @@ -71,7 +71,7 @@ export class ShadowPostProcess extends UberPostProcess implements ObjectPostProc if (shadowUniforms.hasRings) { uniforms.push(...ringsUniforms.getShaderUniforms()); - const ringsLUT = RingsPostProcess.CreateLUT(body.model.seed, ringsUniforms.ringStart, ringsUniforms.ringEnd, ringsUniforms.ringFrequency, scene); + const ringsLUT = ringsUniforms.getLUT(body.model.seed, ringsUniforms.ringStart, ringsUniforms.ringEnd, ringsUniforms.ringFrequency, scene); samplers.push({ name: "ringsLUT", type: SamplerEnumType.Texture, From 2030efca6a52d48c8a5b66cde8505c206d174572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 21:15:28 +0100 Subject: [PATCH 38/51] better promise handling for rings Lut --- .../postProcesses/rings/ringsPostProcess.ts | 27 ++++------ src/ts/postProcesses/rings/ringsUniform.ts | 52 +++++++++++-------- src/ts/postProcesses/shadowPostProcess.ts | 21 ++++---- 3 files changed, 50 insertions(+), 50 deletions(-) diff --git a/src/ts/postProcesses/rings/ringsPostProcess.ts b/src/ts/postProcesses/rings/ringsPostProcess.ts index c9f60731c..7ff93ea50 100644 --- a/src/ts/postProcesses/rings/ringsPostProcess.ts +++ b/src/ts/postProcesses/rings/ringsPostProcess.ts @@ -35,23 +35,18 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce ...ringsUniforms.getShaderUniforms() ]; - const lut = ringsUniforms.getLUT(body.model.seed, ringsUniforms.ringStart, ringsUniforms.ringEnd, ringsUniforms.ringFrequency, scene); - - const samplers: ShaderSamplers = [ - ...getSamplers(scene), - { - name: "ringsLUT", - type: SamplerEnumType.Texture, - get: () => { - return lut; + return ringsUniforms.getLUT(scene).then((lut) => { + const samplers: ShaderSamplers = [ + ...getSamplers(scene), + { + name: "ringsLUT", + type: SamplerEnumType.Texture, + get: () => { + return lut; + } } - } - ]; - - return new Promise((resolve, reject) => { - lut.executeWhenReady(() => { - resolve(new RingsPostProcess(body.name + "Rings", shaderName, uniforms, samplers, scene, body, ringsUniforms, lut)); - }); + ]; + return new RingsPostProcess(body.name + "Rings", shaderName, uniforms, samplers, scene, body, ringsUniforms, lut); }); } diff --git a/src/ts/postProcesses/rings/ringsUniform.ts b/src/ts/postProcesses/rings/ringsUniform.ts index f6aadb345..434a41d06 100644 --- a/src/ts/postProcesses/rings/ringsUniform.ts +++ b/src/ts/postProcesses/rings/ringsUniform.ts @@ -15,6 +15,7 @@ export class RingsUniforms { ringColor: Color3; private ringLut: ProceduralTexture | null = null; + private offset: number; constructor(rng: (step: number) => number) { this.ringStart = randRange(1.8, 2.2, rng, 1400); @@ -22,6 +23,8 @@ export class RingsUniforms { this.ringFrequency = 30.0; this.ringOpacity = clamp(normalRandom(0.7, 0.1, rng, 1420), 0, 1); this.ringColor = new Color3(214, 168, 122).scaleInPlace(randRange(1.0, 1.5, rng, 1430) / 255); + + this.offset = randRange(-100, 100, rng, 1440); } static getEmptyShaderUniforms(): ShaderUniforms { @@ -104,33 +107,38 @@ export class RingsUniforms { ]; } - public getLUT(seed: number, ringStart: number, ringEnd: number, frequency: number, scene: Scene): ProceduralTexture { + public getLUT(scene: Scene): Promise { if(Effect.ShadersStore[`ringsLUTFragmentShader`] === undefined) { Effect.ShadersStore[`ringsLUTFragmentShader`] = ringsLUT; } - if(this.ringLut !== null) return this.ringLut; - - const lut = new ProceduralTexture( - "ringsLUT", - { - width: 4096, - height: 1 - }, - "ringsLUT", - scene, - undefined, - true, - false - ); - lut.setFloat("seed", seed); - lut.setFloat("frequency", frequency); - lut.setFloat("ringStart", ringStart); - lut.setFloat("ringEnd", ringEnd); - lut.refreshRate = 0; + if(this.ringLut === null) { + const lut = new ProceduralTexture( + "ringsLUT", + { + width: 4096, + height: 1 + }, + "ringsLUT", + scene, + undefined, + true, + false + ); + lut.setFloat("seed", this.offset); + lut.setFloat("frequency", this.ringFrequency); + lut.setFloat("ringStart", this.ringStart); + lut.setFloat("ringEnd", this.ringEnd); + lut.refreshRate = 0; - this.ringLut = lut; + this.ringLut = lut; + } - return lut; + return new Promise((resolve, reject) => { + this.ringLut?.executeWhenReady(() => { + if(this.ringLut === null) throw new Error("Ring LUT was null when executing when ready"); + resolve(this.ringLut); + }); + }); } } diff --git a/src/ts/postProcesses/shadowPostProcess.ts b/src/ts/postProcesses/shadowPostProcess.ts index e893dae20..9c2efbdf8 100644 --- a/src/ts/postProcesses/shadowPostProcess.ts +++ b/src/ts/postProcesses/shadowPostProcess.ts @@ -71,20 +71,17 @@ export class ShadowPostProcess extends UberPostProcess implements ObjectPostProc if (shadowUniforms.hasRings) { uniforms.push(...ringsUniforms.getShaderUniforms()); - const ringsLUT = ringsUniforms.getLUT(body.model.seed, ringsUniforms.ringStart, ringsUniforms.ringEnd, ringsUniforms.ringFrequency, scene); - samplers.push({ - name: "ringsLUT", - type: SamplerEnumType.Texture, - get: () => { - return ringsLUT; - } - }); - - return new Promise((resolve, reject) => { - ringsLUT.executeWhenReady(() => { - resolve(new ShadowPostProcess(body.name + "Shadow", body, scene, shaderName, uniforms, samplers, shadowUniforms)); + return ringsUniforms.getLUT(scene).then((ringsLut) => { + samplers.push({ + name: "ringsLUT", + type: SamplerEnumType.Texture, + get: () => { + return ringsLut; + } }); + return new ShadowPostProcess(body.name + "Shadow", body, scene, shaderName, uniforms, samplers, shadowUniforms); }); + } else { uniforms.push(...RingsUniforms.getEmptyShaderUniforms()); samplers.push({ From affe3fe68de5c0a4ee379d752f51c8bd831373e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Thu, 14 Dec 2023 21:24:36 +0100 Subject: [PATCH 39/51] unified rings lut across shadows and rings postprocesses --- src/shaders/rings/rings.glsl | 3 +- src/shaders/rings/ringsDensity.glsl | 2 +- src/shaders/ringsFragment.glsl | 2 - src/shaders/shadowFragment.glsl | 3 +- .../postProcesses/rings/ringsPostProcess.ts | 21 +++------- src/ts/postProcesses/rings/ringsUniform.ts | 42 ++++++++++++------- src/ts/postProcesses/shadowPostProcess.ts | 30 +++++++------ 7 files changed, 51 insertions(+), 52 deletions(-) diff --git a/src/shaders/rings/rings.glsl b/src/shaders/rings/rings.glsl index 66f7233b8..c297688a6 100644 --- a/src/shaders/rings/rings.glsl +++ b/src/shaders/rings/rings.glsl @@ -2,4 +2,5 @@ uniform float rings_start; uniform float rings_end; uniform float rings_frequency; uniform float rings_opacity; -uniform vec3 rings_color; \ No newline at end of file +uniform vec3 rings_color; +uniform sampler2D rings_lut; \ No newline at end of file diff --git a/src/shaders/rings/ringsDensity.glsl b/src/shaders/rings/ringsDensity.glsl index 77902cfc4..8b4f23cf6 100644 --- a/src/shaders/rings/ringsDensity.glsl +++ b/src/shaders/rings/ringsDensity.glsl @@ -9,7 +9,7 @@ float ringDensityAtPoint(vec3 samplePoint) { float normalizedDistance = distanceToPlanet / object_radius; float uvX = remap(normalizedDistance, rings_start, rings_end, 0.0, 1.0); - float lutDensity = texture2D(ringsLUT, vec2(uvX, 0.0)).x; + float lutDensity = texture2D(rings_lut, vec2(uvX, 0.0)).x; // out if not intersecting with rings and interpolation area if (normalizedDistance < rings_start || normalizedDistance > rings_end) return 0.0; diff --git a/src/shaders/ringsFragment.glsl b/src/shaders/ringsFragment.glsl index 045f901de..665b82082 100644 --- a/src/shaders/ringsFragment.glsl +++ b/src/shaders/ringsFragment.glsl @@ -7,8 +7,6 @@ varying vec2 vUV;// screen coordinates uniform sampler2D textureSampler;// the original screen texture uniform sampler2D depthSampler;// the depth map of the camera -uniform sampler2D ringsLUT; - #include "./utils/stars.glsl"; #include "./utils/camera.glsl"; diff --git a/src/shaders/shadowFragment.glsl b/src/shaders/shadowFragment.glsl index 6af1ac158..a84918251 100644 --- a/src/shaders/shadowFragment.glsl +++ b/src/shaders/shadowFragment.glsl @@ -7,7 +7,6 @@ varying vec2 vUV;// screen coordinates uniform sampler2D textureSampler;// the original screen texture uniform sampler2D depthSampler;// the depth map of the camera -uniform sampler2D ringsLUT; #include "./utils/stars.glsl"; float star_radiuses[MAX_STARS]; @@ -63,7 +62,7 @@ float ringOccultation(vec3 rayDir, float maximumDistance) { accDensity += ringDensityAtPoint(shadowSamplePoint) * rings_opacity; } } - return pow(1.0 - accDensity, 4.0) * 0.5 + 0.5; + return pow(1.0 - accDensity, 4.0) * 0.8 + 0.2; } void main() { diff --git a/src/ts/postProcesses/rings/ringsPostProcess.ts b/src/ts/postProcesses/rings/ringsPostProcess.ts index 7ff93ea50..2335b2623 100644 --- a/src/ts/postProcesses/rings/ringsPostProcess.ts +++ b/src/ts/postProcesses/rings/ringsPostProcess.ts @@ -5,17 +5,13 @@ import { UberPostProcess } from "../../uberCore/postProcesses/uberPostProcess"; import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObjectsUniforms } from "../uniforms"; import { ObjectPostProcess } from "../objectPostProcess"; import { Effect } from "@babylonjs/core/Materials/effect"; -import { SamplerEnumType, ShaderSamplers, ShaderUniforms } from "../../uberCore/postProcesses/types"; +import { ShaderSamplers, ShaderUniforms } from "../../uberCore/postProcesses/types"; import { RingsUniforms } from "./ringsUniform"; -import { Scene } from "@babylonjs/core/scene"; -import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture"; -import ringsLUT from "../../../shaders/textures/ringsLUT.glsl"; import { Transformable } from "../../uberCore/transforms/basicTransform"; export class RingsPostProcess extends UberPostProcess implements ObjectPostProcess { readonly ringsUniforms: RingsUniforms; readonly object: AbstractBody; - readonly lut: ProceduralTexture; public static async CreateAsync(body: AbstractBody, scene: UberScene, stellarObjects: Transformable[]): Promise { const shaderName = "rings"; @@ -35,26 +31,19 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce ...ringsUniforms.getShaderUniforms() ]; - return ringsUniforms.getLUT(scene).then((lut) => { + return ringsUniforms.getShaderSamplers(scene).then((ringSamplers) => { const samplers: ShaderSamplers = [ ...getSamplers(scene), - { - name: "ringsLUT", - type: SamplerEnumType.Texture, - get: () => { - return lut; - } - } + ...ringSamplers ]; - return new RingsPostProcess(body.name + "Rings", shaderName, uniforms, samplers, scene, body, ringsUniforms, lut); + return new RingsPostProcess(body.name + "Rings", shaderName, uniforms, samplers, scene, body, ringsUniforms); }); } - private constructor(name: string, shaderName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, scene: UberScene, body: AbstractBody, ringsUniforms: RingsUniforms, lut: ProceduralTexture) { + private constructor(name: string, shaderName: string, uniforms: ShaderUniforms, samplers: ShaderSamplers, scene: UberScene, body: AbstractBody, ringsUniforms: RingsUniforms) { super(name, shaderName, uniforms, samplers, scene); this.object = body; this.ringsUniforms = ringsUniforms; - this.lut = lut; } } diff --git a/src/ts/postProcesses/rings/ringsUniform.ts b/src/ts/postProcesses/rings/ringsUniform.ts index 434a41d06..13b136470 100644 --- a/src/ts/postProcesses/rings/ringsUniform.ts +++ b/src/ts/postProcesses/rings/ringsUniform.ts @@ -1,7 +1,7 @@ import { Color3 } from "@babylonjs/core/Maths/math.color"; import { normalRandom, randRange } from "extended-random"; import { clamp } from "terrain-generation"; -import { ShaderUniforms, UniformEnumType } from "../../uberCore/postProcesses/types"; +import { SamplerEnumType, ShaderSamplers, ShaderUniforms, UniformEnumType } from "../../uberCore/postProcesses/types"; import { Scene } from "@babylonjs/core/scene"; import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture"; import { Effect } from "@babylonjs/core/Materials/effect"; @@ -107,23 +107,37 @@ export class RingsUniforms { ]; } + getShaderSamplers(scene: Scene): Promise { + return this.getLUT(scene).then((lut) => { + return [ + { + name: "rings_lut", + type: SamplerEnumType.Texture, + get: () => { + return lut; + } + } + ]; + }); + } + public getLUT(scene: Scene): Promise { - if(Effect.ShadersStore[`ringsLUTFragmentShader`] === undefined) { + if (Effect.ShadersStore[`ringsLUTFragmentShader`] === undefined) { Effect.ShadersStore[`ringsLUTFragmentShader`] = ringsLUT; } - if(this.ringLut === null) { + if (this.ringLut === null) { const lut = new ProceduralTexture( - "ringsLUT", - { - width: 4096, - height: 1 - }, - "ringsLUT", - scene, - undefined, - true, - false + "ringsLUT", + { + width: 4096, + height: 1 + }, + "ringsLUT", + scene, + undefined, + true, + false ); lut.setFloat("seed", this.offset); lut.setFloat("frequency", this.ringFrequency); @@ -136,7 +150,7 @@ export class RingsUniforms { return new Promise((resolve, reject) => { this.ringLut?.executeWhenReady(() => { - if(this.ringLut === null) throw new Error("Ring LUT was null when executing when ready"); + if (this.ringLut === null) throw new Error("Ring LUT was null when executing when ready"); resolve(this.ringLut); }); }); diff --git a/src/ts/postProcesses/shadowPostProcess.ts b/src/ts/postProcesses/shadowPostProcess.ts index 9c2efbdf8..7280a0a67 100644 --- a/src/ts/postProcesses/shadowPostProcess.ts +++ b/src/ts/postProcesses/shadowPostProcess.ts @@ -65,32 +65,30 @@ export class ShadowPostProcess extends UberPostProcess implements ObjectPostProc } ]; - const samplers = getSamplers(scene); - const ringsUniforms = body.model.ringsUniforms as RingsUniforms; if (shadowUniforms.hasRings) { uniforms.push(...ringsUniforms.getShaderUniforms()); - return ringsUniforms.getLUT(scene).then((ringsLut) => { - samplers.push({ - name: "ringsLUT", - type: SamplerEnumType.Texture, - get: () => { - return ringsLut; - } - }); + return ringsUniforms.getShaderSamplers(scene).then((ringSamplers) => { + const samplers: ShaderSamplers = [ + ...getSamplers(scene), + ...ringSamplers + ]; return new ShadowPostProcess(body.name + "Shadow", body, scene, shaderName, uniforms, samplers, shadowUniforms); }); } else { uniforms.push(...RingsUniforms.getEmptyShaderUniforms()); - samplers.push({ - name: "ringsLUT", - type: SamplerEnumType.Texture, - get: () => { - return Assets.EmptyTexture; + const samplers: ShaderSamplers = [ + ...getSamplers(scene), + { + name: "rings_lut", + type: SamplerEnumType.Texture, + get: () => { + return Assets.EmptyTexture; + } } - }); + ]; return new ShadowPostProcess(body.name + "Shadow", body, scene, shaderName, uniforms, samplers, shadowUniforms); } } From 4e553b387f49be0e34384744c0f7a080dc33f8ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 13:54:50 +0100 Subject: [PATCH 40/51] refactored clouds postprocess - Uniforms have their own class just like rings - Async is handled in a more readable way - argument requirements are much more flexible --- src/shaders/flatCloudsFragment.glsl | 10 +- .../telluricPlanemo/telluricPlanemo.ts | 3 +- .../telluricPlanemo/telluricPlanemoModel.ts | 11 +- src/ts/postProcesses/clouds/cloudsUniforms.ts | 167 +++++++++++++++ .../clouds/flatCloudsPostProcess.ts | 63 ++++++ src/ts/postProcesses/flatCloudsPostProcess.ts | 198 ------------------ src/ts/postProcesses/postProcessManager.ts | 6 +- src/ts/postProcesses/rings/ringsUniform.ts | 20 +- .../volumetricCloudsPostProcess.ts | 29 +-- 9 files changed, 270 insertions(+), 237 deletions(-) create mode 100644 src/ts/postProcesses/clouds/cloudsUniforms.ts create mode 100644 src/ts/postProcesses/clouds/flatCloudsPostProcess.ts delete mode 100644 src/ts/postProcesses/flatCloudsPostProcess.ts diff --git a/src/shaders/flatCloudsFragment.glsl b/src/shaders/flatCloudsFragment.glsl index b3df72e67..631c12ffa 100644 --- a/src/shaders/flatCloudsFragment.glsl +++ b/src/shaders/flatCloudsFragment.glsl @@ -8,8 +8,6 @@ varying vec2 vUV;// screen coordinates uniform sampler2D textureSampler;// the original screen texture uniform sampler2D depthSampler;// the depth map of the camera -uniform sampler2D lut; - #include "./utils/stars.glsl"; #include "./utils/camera.glsl"; @@ -26,6 +24,7 @@ uniform float clouds_worleySpeed; uniform float clouds_detailSpeed; uniform float clouds_specularPower; uniform float clouds_smoothness; +uniform sampler2D clouds_lut; uniform float time; @@ -47,16 +46,15 @@ uniform float time; #include "./utils/toUV.glsl"; -#define inline float cloudDensityAtPoint(vec3 samplePoint) { vec3 rotationAxisPlanetSpace = vec3(0.0, 1.0, 0.0); vec3 samplePointRotatedWorley = rotateAround(samplePoint, rotationAxisPlanetSpace, time * clouds_worleySpeed); vec3 samplePointRotatedDetail = rotateAround(samplePoint, rotationAxisPlanetSpace, time * clouds_detailSpeed); - float density = 1.0 - texture2D(lut, toUV(samplePointRotatedWorley)).r; + float density = 1.0 - texture2D(clouds_lut, toUV(samplePointRotatedWorley)).r; - density *= texture2D(lut, toUV(samplePointRotatedDetail)).g; + density *= texture2D(clouds_lut, toUV(samplePointRotatedDetail)).g; float cloudThickness = 2.0;//TODO: make this a uniform @@ -69,7 +67,6 @@ float cloudDensityAtPoint(vec3 samplePoint) { return density; } -#define inline float computeCloudCoverage(vec3 rayOrigin, vec3 rayDir, float maximumDistance, out vec3 cloudNormal) { float impactPoint, escapePoint; @@ -113,7 +110,6 @@ float computeCloudCoverage(vec3 rayOrigin, vec3 rayDir, float maximumDistance, o return cloudDensity; } -#define inline float cloudShadows(vec3 closestPoint) { float lightAmount = 1.0; for (int i = 0; i < nbStars; i++) { diff --git a/src/ts/planemos/telluricPlanemo/telluricPlanemo.ts b/src/ts/planemos/telluricPlanemo/telluricPlanemo.ts index abf3b5868..a32e96d0e 100644 --- a/src/ts/planemos/telluricPlanemo/telluricPlanemo.ts +++ b/src/ts/planemos/telluricPlanemo/telluricPlanemo.ts @@ -10,7 +10,6 @@ import { AbstractBody } from "../../bodies/abstractBody"; import { UberScene } from "../../uberCore/uberScene"; import { Planemo, PlanemoMaterial } from "../planemo"; import { TelluricPlanemoModel } from "./telluricPlanemoModel"; -import { StellarObject } from "../../stellarObjects/stellarObject"; import { PostProcessType } from "../../postProcesses/postProcessTypes"; import { Camera } from "@babylonjs/core/Cameras/camera"; import { ChunkTree } from "./terrain/chunks/chunkTree"; @@ -47,7 +46,6 @@ export class TelluricPlanemo extends AbstractBody implements Planemo, PlanemoMat if (this.model.physicalProperties.pressure > epsilon) { if (waterFreezingPoint > this.model.physicalProperties.minTemperature && waterFreezingPoint < this.model.physicalProperties.maxTemperature) { this.postProcesses.push(PostProcessType.OCEAN); - this.postProcesses.push(PostProcessType.CLOUDS); } else { this.model.physicalProperties.oceanLevel = 0; } @@ -57,6 +55,7 @@ export class TelluricPlanemo extends AbstractBody implements Planemo, PlanemoMat } if (this.model.ringsUniforms !== null) this.postProcesses.push(PostProcessType.RING); + if (this.model.cloudsUniforms !== null) this.postProcesses.push(PostProcessType.CLOUDS); this.material = new TelluricPlanemoMaterial(this.name, this.getTransform(), this.model, scene); diff --git a/src/ts/planemos/telluricPlanemo/telluricPlanemoModel.ts b/src/ts/planemos/telluricPlanemo/telluricPlanemoModel.ts index f05d17b57..feece220a 100644 --- a/src/ts/planemos/telluricPlanemo/telluricPlanemoModel.ts +++ b/src/ts/planemos/telluricPlanemo/telluricPlanemoModel.ts @@ -10,6 +10,7 @@ import { Quaternion } from "@babylonjs/core/Maths/math"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { getOrbitalPeriod, getPeriapsis } from "../../orbit/orbit"; import { OrbitProperties } from "../../orbit/orbitProperties"; +import { CloudsUniforms } from "../../postProcesses/clouds/cloudsUniforms"; export class TelluricPlanemoModel implements PlanemoModel { readonly bodyType = BODY_TYPE.TELLURIC; @@ -24,7 +25,8 @@ export class TelluricPlanemoModel implements PlanemoModel { readonly terrainSettings: TerrainSettings; - ringsUniforms; + ringsUniforms: RingsUniforms | null = null; + cloudsUniforms: CloudsUniforms | null = null; readonly nbMoons: number; @@ -119,8 +121,11 @@ export class TelluricPlanemoModel implements PlanemoModel { if (uniformRandBool(0.6, this.rng, GENERATION_STEPS.RINGS) && !this.isSatelliteOfTelluric && !this.isSatelliteOfGas) { this.ringsUniforms = new RingsUniforms(this.rng); - } else { - this.ringsUniforms = null; + } + + const waterFreezingPoint = 0.0; + if (waterFreezingPoint > this.physicalProperties.minTemperature && waterFreezingPoint < this.physicalProperties.maxTemperature) { + this.cloudsUniforms = new CloudsUniforms(this.getApparentRadius(), Settings.CLOUD_LAYER_HEIGHT, this.physicalProperties.waterAmount, this.physicalProperties.pressure); } this.nbMoons = randRangeInt(0, 2, this.rng, GENERATION_STEPS.NB_MOONS); diff --git a/src/ts/postProcesses/clouds/cloudsUniforms.ts b/src/ts/postProcesses/clouds/cloudsUniforms.ts new file mode 100644 index 000000000..2d95239f8 --- /dev/null +++ b/src/ts/postProcesses/clouds/cloudsUniforms.ts @@ -0,0 +1,167 @@ +import { Color3 } from "@babylonjs/core/Maths/math.color"; +import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture"; +import { SamplerEnumType, ShaderSamplers, ShaderUniforms, UniformEnumType } from "../../uberCore/postProcesses/types"; +import { gcd } from "terrain-generation"; +import { Scene } from "@babylonjs/core/scene"; +import { Effect } from "@babylonjs/core/Materials/effect"; +import flatCloudLUT from "../../../shaders/textures/flatCloudLUT.glsl"; + +export class CloudsUniforms { + layerRadius: number; + smoothness: number; + specularPower: number; + frequency: number; + detailFrequency: number; + coverage: number; + sharpness: number; + color: Color3; + worleySpeed: number; + detailSpeed: number; + time: number; + + lut: ProceduralTexture | null = null; + + constructor(planetRadius: number, cloudLayerHeight: number, waterAmount: number, pressure: number) { + this.layerRadius = planetRadius + cloudLayerHeight; + this.specularPower = 2; + this.smoothness = 0.7; + this.frequency = 4; + this.detailFrequency = 12; + this.coverage = 0.8 * Math.exp(-waterAmount * pressure); + this.sharpness = 3.5; + this.color = new Color3(0.8, 0.8, 0.8); + this.worleySpeed = 0.0005; + this.detailSpeed = 0.003; + this.time = 0; + } + + getShaderUniforms(): ShaderUniforms { + return [ + { + name: "clouds_layerRadius", + type: UniformEnumType.Float, + get: () => { + return this.layerRadius; + } + }, + { + name: "clouds_frequency", + type: UniformEnumType.Float, + get: () => { + return this.frequency; + } + }, + { + name: "clouds_detailFrequency", + type: UniformEnumType.Float, + get: () => { + return this.detailFrequency; + } + }, + { + name: "clouds_coverage", + type: UniformEnumType.Float, + get: () => { + return this.coverage; + } + }, + { + name: "clouds_sharpness", + type: UniformEnumType.Float, + get: () => { + return this.sharpness; + } + }, + { + name: "clouds_color", + type: UniformEnumType.Color3, + get: () => { + return this.color; + } + }, + { + name: "clouds_worleySpeed", + type: UniformEnumType.Float, + get: () => { + return this.worleySpeed; + } + }, + { + name: "clouds_detailSpeed", + type: UniformEnumType.Float, + get: () => { + return this.detailSpeed; + } + }, + { + name: "clouds_smoothness", + type: UniformEnumType.Float, + get: () => { + return this.smoothness; + } + }, + { + name: "clouds_specularPower", + type: UniformEnumType.Float, + get: () => { + return this.specularPower; + } + }, + { + name: "time", + type: UniformEnumType.Float, + get: () => { + return -this.time % ((2 * Math.PI * gcd(this.worleySpeed * 10000, this.detailSpeed * 10000)) / this.worleySpeed); + } + } + ]; + } + + /** + * Returns the samplers for the shader when the LUT is ready + * You cannot await this function as it would block the main thread and cause a deadlock as the LUT is created on the main thread + * @param scene + */ + public async getShaderSamplers(scene: Scene): Promise { + return this.getLUT(scene).then((lut) => { + return [ + { + name: "clouds_lut", + type: SamplerEnumType.Texture, + get: () => { + return lut; + } + } + ]; + }); + } + + /** + * Returns the LUT for the rings when it is ready + * You cannot await this function as it would block the main thread and cause a deadlock as the LUT is created on the main thread + * @param scene + * @private + */ + private getLUT(scene: Scene): Promise { + if (Effect.ShadersStore[`flatCloudsLUTFragmentShader`] === undefined) { + Effect.ShadersStore[`flatCloudsLUTFragmentShader`] = flatCloudLUT; + } + + if (this.lut === null) { + const lut = new ProceduralTexture("flatCloudLUT", 4096, "flatCloudsLUT", scene, undefined, true, false); + lut.setFloat("worleyFrequency", this.frequency); + lut.setFloat("detailFrequency", this.detailFrequency); + lut.refreshRate = 0; + + this.lut = lut; + } + + return new Promise((resolve, reject) => { + if (this.lut === null) throw new Error("LUT is null when creating promise"); + this.lut.executeWhenReady(() => { + if (this.lut === null) throw new Error("LUT is null when executing when ready"); + resolve(this.lut); + }); + }); + } +} diff --git a/src/ts/postProcesses/clouds/flatCloudsPostProcess.ts b/src/ts/postProcesses/clouds/flatCloudsPostProcess.ts new file mode 100644 index 000000000..98f770795 --- /dev/null +++ b/src/ts/postProcesses/clouds/flatCloudsPostProcess.ts @@ -0,0 +1,63 @@ +import { Effect } from "@babylonjs/core/Materials/effect"; + +import flatCloudsFragment from "../../../shaders/flatCloudsFragment.glsl"; +import { UberScene } from "../../uberCore/uberScene"; +import { UberPostProcess } from "../../uberCore/postProcesses/uberPostProcess"; +import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObjectsUniforms } from "../uniforms"; +import { ObjectPostProcess, UpdatablePostProcess } from "../objectPostProcess"; +import { ShaderSamplers, ShaderUniforms } from "../../uberCore/postProcesses/types"; +import { Transformable } from "../../uberCore/transforms/basicTransform"; +import { CloudsUniforms } from "./cloudsUniforms"; +import { BoundingSphere } from "../../bodies/common"; + +export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPostProcess, UpdatablePostProcess { + readonly cloudUniforms: CloudsUniforms; + readonly object: Transformable; + + public static async CreateAsync( + name: string, + planet: Transformable & BoundingSphere, + cloudsUniforms: CloudsUniforms, + scene: UberScene, + stellarObjects: Transformable[] + ): Promise { + const shaderName = "flatClouds"; + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + Effect.ShadersStore[`${shaderName}FragmentShader`] = flatCloudsFragment; + } + + const uniforms: ShaderUniforms = [ + ...getObjectUniforms(planet), + ...getStellarObjectsUniforms(stellarObjects), + ...getActiveCameraUniforms(scene), + ...cloudsUniforms.getShaderUniforms() + ]; + + return cloudsUniforms.getShaderSamplers(scene).then((cloudSamplers) => { + const samplers: ShaderSamplers = [ + ...getSamplers(scene), + ...cloudSamplers, + ]; + return new FlatCloudsPostProcess(name, shaderName, planet, cloudsUniforms, uniforms, samplers, scene); + }); + } + + private constructor( + name: string, + shaderName: string, + planet: Transformable, + cloudUniforms: CloudsUniforms, + uniforms: ShaderUniforms, + samplers: ShaderSamplers, + scene: UberScene + ) { + super(name, shaderName, uniforms, samplers, scene); + + this.object = planet; + this.cloudUniforms = cloudUniforms; + } + + public update(deltaTime: number): void { + this.cloudUniforms.time += deltaTime; + } +} diff --git a/src/ts/postProcesses/flatCloudsPostProcess.ts b/src/ts/postProcesses/flatCloudsPostProcess.ts deleted file mode 100644 index 0fd2026aa..000000000 --- a/src/ts/postProcesses/flatCloudsPostProcess.ts +++ /dev/null @@ -1,198 +0,0 @@ -import { Effect } from "@babylonjs/core/Materials/effect"; -import { Color3 } from "@babylonjs/core/Maths/math.color"; - -import { gcd } from "terrain-generation"; - -import flatCloudsFragment from "../../shaders/flatCloudsFragment.glsl"; -import { UberScene } from "../uberCore/uberScene"; -import { UberPostProcess } from "../uberCore/postProcesses/uberPostProcess"; -import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObjectsUniforms } from "./uniforms"; -import { TelluricPlanemo } from "../planemos/telluricPlanemo/telluricPlanemo"; -import { ObjectPostProcess, UpdatablePostProcess } from "./objectPostProcess"; -import { SamplerEnumType, ShaderSamplers, ShaderUniforms, UniformEnumType } from "../uberCore/postProcesses/types"; -import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture"; -import { Scene } from "@babylonjs/core/scene"; -import flatCloudLUT from "../../shaders/textures/flatCloudLUT.glsl"; -import { Transformable } from "../uberCore/transforms/basicTransform"; - -export interface CloudUniforms { - layerRadius: number; - smoothness: number; - specularPower: number; - frequency: number; - detailFrequency: number; - coverage: number; - sharpness: number; - color: Color3; - worleySpeed: number; - detailSpeed: number; - time: number; -} - -export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPostProcess, UpdatablePostProcess { - readonly cloudUniforms: CloudUniforms; - readonly object: TelluricPlanemo; - - public static async CreateAsync( - name: string, - planet: TelluricPlanemo, - cloudLayerHeight: number, - scene: UberScene, - stellarObjects: Transformable[] - ): Promise { - const shaderName = "flatClouds"; - if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { - Effect.ShadersStore[`${shaderName}FragmentShader`] = flatCloudsFragment; - } - - const cloudUniforms: CloudUniforms = { - layerRadius: planet.getBoundingRadius() + cloudLayerHeight, - specularPower: 2, - smoothness: 0.7, - frequency: 4, - detailFrequency: 12, - coverage: 0.8 * Math.exp(-planet.model.physicalProperties.waterAmount * planet.model.physicalProperties.pressure), - sharpness: 3.5, - color: new Color3(0.8, 0.8, 0.8), - worleySpeed: 0.0005, - detailSpeed: 0.003, - time: 0 - }; - - const lut = FlatCloudsPostProcess.CreateLUT(cloudUniforms.frequency, cloudUniforms.detailFrequency, scene); - - const uniforms: ShaderUniforms = [ - ...getObjectUniforms(planet), - ...getStellarObjectsUniforms(stellarObjects), - ...getActiveCameraUniforms(scene), - { - name: "clouds_layerRadius", - type: UniformEnumType.Float, - get: () => { - return cloudUniforms.layerRadius; - } - }, - { - name: "clouds_frequency", - type: UniformEnumType.Float, - get: () => { - return cloudUniforms.frequency; - } - }, - { - name: "clouds_detailFrequency", - type: UniformEnumType.Float, - get: () => { - return cloudUniforms.detailFrequency; - } - }, - { - name: "clouds_coverage", - type: UniformEnumType.Float, - get: () => { - return cloudUniforms.coverage; - } - }, - { - name: "clouds_sharpness", - type: UniformEnumType.Float, - get: () => { - return cloudUniforms.sharpness; - } - }, - { - name: "clouds_color", - type: UniformEnumType.Color3, - get: () => { - return cloudUniforms.color; - } - }, - { - name: "clouds_worleySpeed", - type: UniformEnumType.Float, - get: () => { - return cloudUniforms.worleySpeed; - } - }, - { - name: "clouds_detailSpeed", - type: UniformEnumType.Float, - get: () => { - return cloudUniforms.detailSpeed; - } - }, - { - name: "clouds_smoothness", - type: UniformEnumType.Float, - get: () => { - return cloudUniforms.smoothness; - } - }, - { - name: "clouds_specularPower", - type: UniformEnumType.Float, - get: () => { - return cloudUniforms.specularPower; - } - }, - { - name: "time", - type: UniformEnumType.Float, - get: () => { - return -cloudUniforms.time % ((2 * Math.PI * gcd(cloudUniforms.worleySpeed * 10000, cloudUniforms.detailSpeed * 10000)) / cloudUniforms.worleySpeed); - } - } - ]; - - const samplers: ShaderSamplers = [ - ...getSamplers(scene), - { - name: "lut", - type: SamplerEnumType.Texture, - get: () => { - return lut; - } - } - ]; - - return new Promise((resolve, reject) => { - lut.executeWhenReady(() => { - const postProcess = new FlatCloudsPostProcess(name, shaderName, planet, cloudUniforms, uniforms, samplers, scene); - - resolve(postProcess); - }); - }); - } - - private constructor( - name: string, - shaderName: string, - planet: TelluricPlanemo, - cloudUniforms: CloudUniforms, - uniforms: ShaderUniforms, - samplers: ShaderSamplers, - scene: UberScene - ) { - super(name, shaderName, uniforms, samplers, scene); - - this.object = planet; - this.cloudUniforms = cloudUniforms; - } - - static CreateLUT(worleyFrequency: number, detailFrequency: number, scene: Scene): ProceduralTexture { - if (Effect.ShadersStore[`flatCloudsLUTFragmentShader`] === undefined) { - Effect.ShadersStore[`flatCloudsLUTFragmentShader`] = flatCloudLUT; - } - - const lut = new ProceduralTexture("flatCloudLUT", 4096, "flatCloudsLUT", scene, undefined, true, false); - lut.setFloat("worleyFrequency", worleyFrequency); - lut.setFloat("detailFrequency", detailFrequency); - lut.refreshRate = 0; - - return lut; - } - - public update(deltaTime: number): void { - this.cloudUniforms.time += deltaTime; - } -} diff --git a/src/ts/postProcesses/postProcessManager.ts b/src/ts/postProcesses/postProcessManager.ts index 3e4d3f943..72dbbbd8b 100644 --- a/src/ts/postProcesses/postProcessManager.ts +++ b/src/ts/postProcesses/postProcessManager.ts @@ -2,7 +2,7 @@ import { UberScene } from "../uberCore/uberScene"; import { UberRenderingPipeline } from "../uberCore/uberRenderingPipeline"; import { OceanPostProcess } from "./oceanPostProcess"; import { TelluricPlanemo } from "../planemos/telluricPlanemo/telluricPlanemo"; -import { FlatCloudsPostProcess } from "./flatCloudsPostProcess"; +import { FlatCloudsPostProcess } from "./clouds/flatCloudsPostProcess"; import { Settings } from "../settings"; import { AtmosphericScatteringPostProcess } from "./atmosphericScatteringPostProcess"; import { AbstractBody } from "../bodies/abstractBody"; @@ -179,7 +179,9 @@ export class PostProcessManager { * @param stellarObjects An array of stars or black holes */ public async addClouds(planet: TelluricPlanemo, stellarObjects: StellarObject[]) { - return FlatCloudsPostProcess.CreateAsync(`${planet.name}Clouds`, planet, Settings.CLOUD_LAYER_HEIGHT, this.scene, stellarObjects).then((clouds) => { + const uniforms = planet.model.cloudsUniforms; + if(uniforms === null) throw new Error(`PostProcessManager: addClouds: uniforms are null. This should not be possible as the postprocess should not be created if the body has no clouds. Body: ${planet.name}`); + return FlatCloudsPostProcess.CreateAsync(`${planet.name}Clouds`, planet, uniforms, this.scene, stellarObjects).then((clouds) => { this.clouds.push(clouds); }); } diff --git a/src/ts/postProcesses/rings/ringsUniform.ts b/src/ts/postProcesses/rings/ringsUniform.ts index 13b136470..25a35ea3f 100644 --- a/src/ts/postProcesses/rings/ringsUniform.ts +++ b/src/ts/postProcesses/rings/ringsUniform.ts @@ -15,7 +15,7 @@ export class RingsUniforms { ringColor: Color3; private ringLut: ProceduralTexture | null = null; - private offset: number; + offset: number; constructor(rng: (step: number) => number) { this.ringStart = randRange(1.8, 2.2, rng, 1400); @@ -107,7 +107,12 @@ export class RingsUniforms { ]; } - getShaderSamplers(scene: Scene): Promise { + /** + * Returns the samplers for the shader when the LUT is ready + * You cannot await this function as it would block the main thread and cause a deadlock as the LUT is created on the main thread + * @param scene + */ + public async getShaderSamplers(scene: Scene): Promise { return this.getLUT(scene).then((lut) => { return [ { @@ -121,7 +126,13 @@ export class RingsUniforms { }); } - public getLUT(scene: Scene): Promise { + /** + * Returns the LUT for the rings + * You cannot await this function as it would block the main thread and cause a deadlock as the LUT is created on the main thread + * @param scene + * @private + */ + private getLUT(scene: Scene): Promise { if (Effect.ShadersStore[`ringsLUTFragmentShader`] === undefined) { Effect.ShadersStore[`ringsLUTFragmentShader`] = ringsLUT; } @@ -149,7 +160,8 @@ export class RingsUniforms { } return new Promise((resolve, reject) => { - this.ringLut?.executeWhenReady(() => { + if(this.ringLut === null) throw new Error("Ring LUT was null when creating promise"); + this.ringLut.executeWhenReady(() => { if (this.ringLut === null) throw new Error("Ring LUT was null when executing when ready"); resolve(this.ringLut); }); diff --git a/src/ts/postProcesses/volumetricCloudsPostProcess.ts b/src/ts/postProcesses/volumetricCloudsPostProcess.ts index 856a4105c..0e79be6f1 100644 --- a/src/ts/postProcesses/volumetricCloudsPostProcess.ts +++ b/src/ts/postProcesses/volumetricCloudsPostProcess.ts @@ -2,41 +2,28 @@ import volumetricCloudsFragment from "../../shaders/volumetricCloudsFragment.gls import { UberScene } from "../uberCore/uberScene"; import { getActiveCameraUniforms, getObjectUniforms, getSamplers, getStellarObjectsUniforms } from "./uniforms"; import { UberPostProcess } from "../uberCore/postProcesses/uberPostProcess"; -import { TelluricPlanemo } from "../planemos/telluricPlanemo/telluricPlanemo"; import { ObjectPostProcess } from "./objectPostProcess"; -import { CloudUniforms, FlatCloudsPostProcess } from "./flatCloudsPostProcess"; +import { FlatCloudsPostProcess } from "./clouds/flatCloudsPostProcess"; import { Effect } from "@babylonjs/core/Materials/effect"; -import { Color3 } from "@babylonjs/core/Maths/math.color"; import { UniformEnumType, ShaderSamplers, ShaderUniforms } from "../uberCore/postProcesses/types"; import { StellarObject } from "../stellarObjects/stellarObject"; +import { CloudsUniforms } from "./clouds/cloudsUniforms"; +import { Transformable } from "../uberCore/transforms/basicTransform"; +import { BoundingSphere } from "../bodies/common"; export type CloudsPostProcess = FlatCloudsPostProcess | VolumetricCloudsPostProcess; export class VolumetricCloudsPostProcess extends UberPostProcess implements ObjectPostProcess { - readonly cloudUniforms: CloudUniforms; - readonly object: TelluricPlanemo; + readonly cloudUniforms: CloudsUniforms; + readonly object: Transformable; - constructor(name: string, planet: TelluricPlanemo, cloudLayerHeight: number, scene: UberScene, stars: StellarObject[]) { + constructor(name: string, planet: Transformable & BoundingSphere, cloudsUniforms: CloudsUniforms, scene: UberScene, stars: StellarObject[]) { const shaderName = "volumetricClouds"; if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = volumetricCloudsFragment; } - const cloudUniforms: CloudUniforms = { - layerRadius: planet.getBoundingRadius() + cloudLayerHeight, - specularPower: 2, - smoothness: 0.9, - frequency: 4, - detailFrequency: 20, - coverage: 0.8 * Math.exp(-planet.model.physicalProperties.waterAmount * planet.model.physicalProperties.pressure), - sharpness: 3.5, - color: new Color3(0.8, 0.8, 0.8), - worleySpeed: 0.0005, - detailSpeed: 0.003, - time: 0 - }; - const uniforms: ShaderUniforms = [ ...getObjectUniforms(planet), ...getStellarObjectsUniforms(stars), @@ -62,6 +49,6 @@ export class VolumetricCloudsPostProcess extends UberPostProcess implements Obje super(name, shaderName, uniforms, samplers, scene); this.object = planet; - this.cloudUniforms = cloudUniforms; + this.cloudUniforms = cloudsUniforms; } } From f1169178fc2ec52f09697022338d10b76d4f4fbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 15:58:15 +0100 Subject: [PATCH 41/51] fixed sterile worlds getting clouds There was no pressure check --- src/ts/planemos/telluricPlanemo/telluricPlanemoModel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ts/planemos/telluricPlanemo/telluricPlanemoModel.ts b/src/ts/planemos/telluricPlanemo/telluricPlanemoModel.ts index feece220a..bb5d1eff6 100644 --- a/src/ts/planemos/telluricPlanemo/telluricPlanemoModel.ts +++ b/src/ts/planemos/telluricPlanemo/telluricPlanemoModel.ts @@ -124,7 +124,7 @@ export class TelluricPlanemoModel implements PlanemoModel { } const waterFreezingPoint = 0.0; - if (waterFreezingPoint > this.physicalProperties.minTemperature && waterFreezingPoint < this.physicalProperties.maxTemperature) { + if (waterFreezingPoint > this.physicalProperties.minTemperature && waterFreezingPoint < this.physicalProperties.maxTemperature && this.physicalProperties.pressure > 0) { this.cloudsUniforms = new CloudsUniforms(this.getApparentRadius(), Settings.CLOUD_LAYER_HEIGHT, this.physicalProperties.waterAmount, this.physicalProperties.pressure); } From f5e5808134c0945faaf7b9637a715e25fa7a131b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 15:58:33 +0100 Subject: [PATCH 42/51] removed runtime noise by lut for telluric planemo material --- .../telluricPlanetMaterial/fragment.glsl | 27 +++++++----- .../telluricPlanetMaterial/utils/lut.glsl | 41 +++++++++++++++++++ .../telluricPlanemoMaterial.ts | 39 +++++++++++------- 3 files changed, 82 insertions(+), 25 deletions(-) create mode 100644 src/shaders/telluricPlanetMaterial/utils/lut.glsl diff --git a/src/shaders/telluricPlanetMaterial/fragment.glsl b/src/shaders/telluricPlanetMaterial/fragment.glsl index f658e9cce..eeba6a0cc 100644 --- a/src/shaders/telluricPlanetMaterial/fragment.glsl +++ b/src/shaders/telluricPlanetMaterial/fragment.glsl @@ -60,9 +60,9 @@ uniform float maxTemperature; uniform float waterAmount; -#include "../utils/perlin3.glsl"; +uniform sampler2D lut; -#include "../utils/remap.glsl"; +#include "../utils/toUV.glsl"; #include "../utils/triplanarNormal.glsl"; @@ -127,14 +127,20 @@ void main() { float temperature = mix(minTemperature, maxTemperature, temperature01); + vec2 uv = toUV(vUnitSamplePoint); + // trick from https://www.shadertoy.com/view/3dVSzm to avoid Greenwich artifacts + vec2 df = fwidth(uv); + if(df.x > 0.5) df.x = 0.0; + vec4 lutResult = textureLod(lut, uv, log2(max(df.x, df.y) * 1024.0)); + // moisture float moisture01 = 0.0;// 0.0 = sec, 1.0 = humid : sec par défaut if (waterMeltingPoint01 < 1.0) { // if there is liquid water on the surface - moisture01 += 0.5 * (1.0 + perlin3(vUnitSamplePoint * 2.0)) * sqrt(1.0-waterMeltingPoint01) * waterBoilingPoint01; + moisture01 += lutResult.x; } if (pressure == 0.0) { - moisture01 += 0.5 * (1.0 + perlin3(vUnitSamplePoint * 5.0)); + moisture01 += lutResult.y; } moisture01 = clamp(moisture01, 0.0, 1.0); @@ -173,18 +179,18 @@ void main() { plainFactor *= 1.0 - beachFactor; beachFactor *= 1.0 - steepFactor; - // blend with snow factor when above water - snowFactor = smoothstep(0.0, -2.0, temperature - abs(blendingNormal.y) * 5.0); - snowFactor = smoothSharpener(snowFactor, 2.0); - plainFactor *= 1.0 - snowFactor; - beachFactor *= 1.0 - snowFactor; - // blend with desert factor when above water desertFactor = smoothstep(0.5, 0.3, moisture01); desertFactor = smoothSharpener(desertFactor, 2.0); plainFactor *= 1.0 - desertFactor; beachFactor *= 1.0 - desertFactor; + // blend with snow factor when above water + snowFactor = smoothstep(0.0, -2.0, temperature - abs(0.3 * (blendingNormal.z + blendingNormal.x + blendingNormal.y)) * 5.0); + snowFactor = smoothSharpener(snowFactor, 2.0); + plainFactor *= 1.0 - snowFactor; + beachFactor *= 1.0 - snowFactor; + desertFactor *= 1.0 - snowFactor; // blend with bottom factor when under water bottomFactor = smoothstep(waterLevel01, waterLevel01 - 1e-2, elevation01); @@ -268,6 +274,5 @@ void main() { if (colorMode == 5) screenColor = vec3(1.0 - dot(normal, normalize(vSamplePoint))); if (colorMode == 6) screenColor = vec3(1.0 - slope); - gl_FragColor = vec4(screenColor, 1.0);// apply color and lighting } \ No newline at end of file diff --git a/src/shaders/telluricPlanetMaterial/utils/lut.glsl b/src/shaders/telluricPlanetMaterial/utils/lut.glsl new file mode 100644 index 000000000..01b33e9fe --- /dev/null +++ b/src/shaders/telluricPlanetMaterial/utils/lut.glsl @@ -0,0 +1,41 @@ +precision highp float; + +varying vec2 vUV; + +uniform float minTemperature; +uniform float maxTemperature; + +uniform float pressure; + + +#include "../../utils/noise.glsl"; + +#include "../../utils/toSphere.glsl"; + +#include "../../utils/remap.glsl"; + +#include "./waterBoilingPointCelsius.glsl"; + +#include "../../utils/smoothSharpener.glsl"; + +void main() { + vec3 sphere = toSphere(vUV); + + float waterMeltingPoint = 0.0;// fairly good approximation + float waterMeltingPoint01 = remap(waterMeltingPoint, minTemperature, maxTemperature, 0.0, 1.0); + float waterBoilingPoint01 = remap(waterBoilingPointCelsius(pressure), minTemperature, maxTemperature, 0.0, 1.0); + + float moisture01 = completeNoise(sphere * 2.0, 5, 2.0, 2.0) * sqrt(1.0 - waterMeltingPoint01) * waterBoilingPoint01; + moisture01 = smoothSharpener(moisture01, 2.0); + moisture01 = clamp(moisture01, 0.0, 1.0); + + vec3 domainWarping = 0.5 * vec3( + completeNoise(sphere + vec3(23.0, 57.0, -18.0), 5, 2.0, 2.0), + completeNoise(sphere + vec3(57.0, -18.0, 23.0), 5, 2.0, 2.0), + completeNoise(sphere + vec3(-18.0, 23.0, 57.0), 5, 2.0, 2.0) + ) - 0.5; + + float noise = completeNoise(domainWarping + sphere * 10.0, 5, 2.0, 2.0); + + gl_FragColor = vec4(moisture01, noise, 0.0, 0.0); +} \ No newline at end of file diff --git a/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts b/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts index 15a8facbb..9ff0123ec 100644 --- a/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts +++ b/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts @@ -12,10 +12,12 @@ import { Color3 } from "@babylonjs/core/Maths/math.color"; import { Vector3 } from "@babylonjs/core/Maths/math"; import { TransformNode } from "@babylonjs/core/Meshes"; import { getInverseRotationMatrix, Transformable } from "../../uberCore/transforms/basicTransform"; -import { StellarObject } from "../../stellarObjects/stellarObject"; import { Star } from "../../stellarObjects/star/star"; import { flattenVector3Array } from "../../utils/algebra"; +import lutFragment from "../../../shaders/telluricPlanetMaterial/utils/lut.glsl"; +import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture"; + /** * The material for telluric planemos. * It is responsible for the shading of the surface of the planet (biome blending, normal mapping and color) @@ -42,10 +44,10 @@ export class TelluricPlanemoMaterial extends ShaderMaterial { */ constructor(planetName: string, planet: TransformNode, model: TelluricPlanemoModel, scene: UberScene) { const shaderName = "surfaceMaterial"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = surfaceMaterialFragment; } - if(Effect.ShadersStore[`${shaderName}VertexShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}VertexShader`] === undefined) { Effect.ShadersStore[`${shaderName}VertexShader`] = surfaceMaterialVertex; } @@ -60,13 +62,6 @@ export class TelluricPlanemoMaterial extends ShaderMaterial { "colorMode", - "bottomNormalMap", - "plainNormalMap", - "beachNormalMap", - "desertNormalMap", - "snowNormalMap", - "steepNormalMap", - "seed", "cameraNear", @@ -100,8 +95,9 @@ export class TelluricPlanemoMaterial extends ShaderMaterial { "maxTemperature", "pressure", - "waterAmount" - ] + "waterAmount", + ], + samplers: ["lut", "bottomNormalMap", "plainNormalMap", "beachNormalMap", "desertNormalMap", "snowNormalMap", "steepNormalMap"] }); this.planemoModel = model; @@ -144,6 +140,21 @@ export class TelluricPlanemoMaterial extends ShaderMaterial { this.setVector3("planetPosition", this.planemoTransform.getAbsolutePosition()); + if(Effect.ShadersStore["telluricPlanemoLutFragmentShader"] === undefined) { + Effect.ShadersStore["telluricPlanemoLutFragmentShader"] = lutFragment; + } + + this.setTexture("lut", Assets.EmptyTexture); + const lut = new ProceduralTexture("lut", 4096, "telluricPlanemoLut", scene, null, true, false); + lut.wrapU = 1.1; + lut.setFloat("minTemperature", this.planemoModel.physicalProperties.minTemperature); + lut.setFloat("maxTemperature", this.planemoModel.physicalProperties.maxTemperature); + lut.setFloat("pressure", this.planemoModel.physicalProperties.pressure); + lut.refreshRate = 0; + lut.executeWhenReady(() => { + this.setTexture("lut", lut); + }); + this.updateConstants(); } @@ -182,8 +193,8 @@ export class TelluricPlanemoMaterial extends ShaderMaterial { this.setVector3("playerPosition", activeControllerPosition); - this.setArray3("star_positions", flattenVector3Array(stellarObjects.map(star => star.getTransform().getAbsolutePosition()))); - this.setArray3("star_colors", flattenVector3Array(stellarObjects.map(star => star instanceof Star ? star.model.surfaceColor : Vector3.One()))) + this.setArray3("star_positions", flattenVector3Array(stellarObjects.map((star) => star.getTransform().getAbsolutePosition()))); + this.setArray3("star_colors", flattenVector3Array(stellarObjects.map((star) => (star instanceof Star ? star.model.surfaceColor : Vector3.One())))); this.setInt("nbStars", stellarObjects.length); this.setVector3("planetPosition", this.planemoTransform.getAbsolutePosition()); From 7e14b0a8ded941a54e2c205ec56380ef2472b895 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 16:20:45 +0100 Subject: [PATCH 43/51] removed character when not being the current controller --- src/ts/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ts/index.ts b/src/ts/index.ts index 7c7a0295d..308c4c687 100644 --- a/src/ts/index.ts +++ b/src/ts/index.ts @@ -53,6 +53,7 @@ spaceshipController.addInput(gamepad); spaceshipController.addInput(mouse); const characterController = new CharacterController(starSystemView.scene); +characterController.getTransform().setEnabled(false); characterController.getActiveCamera().maxZ = maxZ; characterController.addInput(keyboard); characterController.addInput(gamepad); @@ -221,6 +222,7 @@ document.addEventListener("keydown", (e) => { spaceshipController.setEnabled(false, engine.getHavokPlugin()); } else if(starSystemView.scene.getActiveController() === defaultController) { + characterController.getTransform().setEnabled(true); starSystemView.scene.setActiveController(characterController); setRotationQuaternion(characterController.getTransform(), getRotationQuaternion(defaultController.getTransform()).clone()); starSystemView.getStarSystem().postProcessManager.rebuild(); @@ -228,6 +230,7 @@ document.addEventListener("keydown", (e) => { spaceshipController.setEnabled(false, engine.getHavokPlugin()); } else if(starSystemView.scene.getActiveController() === characterController) { + characterController.getTransform().setEnabled(false); starSystemView.scene.setActiveController(spaceshipController); setRotationQuaternion(spaceshipController.getTransform(), getRotationQuaternion(defaultController.getTransform()).clone()); starSystemView.getStarSystem().postProcessManager.rebuild(); From be6a7a474b492f4fd4b38d35bf62fd9b73e6e082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 16:30:28 +0100 Subject: [PATCH 44/51] fixed greenwich artefacts in clouds --- src/shaders/flatCloudsFragment.glsl | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/shaders/flatCloudsFragment.glsl b/src/shaders/flatCloudsFragment.glsl index 631c12ffa..f5c020475 100644 --- a/src/shaders/flatCloudsFragment.glsl +++ b/src/shaders/flatCloudsFragment.glsl @@ -52,9 +52,18 @@ float cloudDensityAtPoint(vec3 samplePoint) { vec3 samplePointRotatedWorley = rotateAround(samplePoint, rotationAxisPlanetSpace, time * clouds_worleySpeed); vec3 samplePointRotatedDetail = rotateAround(samplePoint, rotationAxisPlanetSpace, time * clouds_detailSpeed); - float density = 1.0 - texture2D(clouds_lut, toUV(samplePointRotatedWorley)).r; + vec2 uvWorley = toUV(samplePointRotatedWorley); + vec2 uvDetail = toUV(samplePointRotatedDetail); - density *= texture2D(clouds_lut, toUV(samplePointRotatedDetail)).g; + // trick from https://www.shadertoy.com/view/3dVSzm to avoid Greenwich artifacts + vec2 dfWorley = fwidth(uvWorley); + if(dfWorley.x > 0.5) dfWorley.x = 0.0; + + vec2 dfDetail = fwidth(uvDetail); + if(dfDetail.x > 0.5) dfDetail.x = 0.0; + + float density = 1.0 - textureLod(clouds_lut, uvWorley, log2(max(dfWorley.x, dfWorley.y) * 1024.0)).r; + density *= textureLod(clouds_lut, uvDetail, log2(max(dfDetail.x, dfDetail.y) * 1024.0)).g; float cloudThickness = 2.0;//TODO: make this a uniform From da33a190ab34cc3a2f7523bedfe06f20add43046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 16:30:32 +0100 Subject: [PATCH 45/51] Update telluricPlanemoMaterial.ts --- src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts b/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts index 9ff0123ec..f56833e08 100644 --- a/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts +++ b/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts @@ -146,7 +146,6 @@ export class TelluricPlanemoMaterial extends ShaderMaterial { this.setTexture("lut", Assets.EmptyTexture); const lut = new ProceduralTexture("lut", 4096, "telluricPlanemoLut", scene, null, true, false); - lut.wrapU = 1.1; lut.setFloat("minTemperature", this.planemoModel.physicalProperties.minTemperature); lut.setFloat("maxTemperature", this.planemoModel.physicalProperties.maxTemperature); lut.setFloat("pressure", this.planemoModel.physicalProperties.pressure); From 70cdb2077c84323d16528a59947da2c07d262a69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 17:28:18 +0100 Subject: [PATCH 46/51] replaced star runtime noise by lut --- src/shaders/starMaterial/fragment.glsl | 20 +++++++++++++++++--- src/shaders/starMaterial/utils/lut.glsl | 21 +++++++++++++++++++++ src/ts/stellarObjects/star/starMaterial.ts | 19 ++++++++++++++++++- 3 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 src/shaders/starMaterial/utils/lut.glsl diff --git a/src/shaders/starMaterial/fragment.glsl b/src/shaders/starMaterial/fragment.glsl index eaf83be2b..516951b7c 100644 --- a/src/shaders/starMaterial/fragment.glsl +++ b/src/shaders/starMaterial/fragment.glsl @@ -8,15 +8,29 @@ uniform float time; uniform float seed; +uniform sampler2D lut; + #include "../utils/rotateAround.glsl"; -#include "../utils/simplex4.glsl"; +#include "../utils/toUV.glsl"; void main() { float plasmaSpeed = 0.005; - vec4 seededSamplePoint = vec4(rotateAround(vUnitSamplePoint, vec3(0.0, 1.0, 0.0), time * plasmaSpeed), mod(seed, 1e3)); + vec3 samplePoint1 = rotateAround(vUnitSamplePoint, vec3(0.0, 1.0, 0.0), time * plasmaSpeed); + vec3 samplePoint2 = rotateAround(vUnitSamplePoint, vec3(0.0, 1.0, 0.0), -time * plasmaSpeed); + + vec2 uv1 = toUV(samplePoint1); + vec2 df1 = fwidth(uv1); + if(df1.x > 0.5) df1.x = 0.0; + + vec2 uv2 = toUV(samplePoint2); + vec2 df2 = fwidth(uv2); + if(df2.x > 0.5) df2.x = 0.0; + + float noiseValue1 = textureLod(lut, uv1, log2(max(df1.x, df1.y) * 1024.0)).r; + float noiseValue2 = textureLod(lut, uv2, log2(max(df2.x, df2.y) * 1024.0)).r; - float noiseValue = fractalSimplex4(seededSamplePoint * 5.0, 8, 2.0, 2.0); + float noiseValue = noiseValue1 * noiseValue2; vec3 finalColor = starColor; diff --git a/src/shaders/starMaterial/utils/lut.glsl b/src/shaders/starMaterial/utils/lut.glsl new file mode 100644 index 000000000..88305cd2e --- /dev/null +++ b/src/shaders/starMaterial/utils/lut.glsl @@ -0,0 +1,21 @@ +precision highp float; + +varying vec2 vUV; + +#include "../../utils/noise.glsl"; + +#include "../../utils/toSphere.glsl"; + +void main() { + vec3 sphere = toSphere(vUV); + + vec3 domainWarping = 0.5 * vec3( + completeNoise(sphere + vec3(23.0, 57.0, -18.0), 5, 2.0, 2.0), + completeNoise(sphere + vec3(57.0, -18.0, 23.0), 5, 2.0, 2.0), + completeNoise(sphere + vec3(-18.0, 23.0, 57.0), 5, 2.0, 2.0) + ) - 0.5; + + float noise = completeNoise(domainWarping + sphere * 10.0, 5, 2.0, 2.0); + + gl_FragColor = vec4(noise, 0.0, 0.0, 0.0); +} \ No newline at end of file diff --git a/src/ts/stellarObjects/star/starMaterial.ts b/src/ts/stellarObjects/star/starMaterial.ts index 651235939..56dd7fb69 100644 --- a/src/ts/stellarObjects/star/starMaterial.ts +++ b/src/ts/stellarObjects/star/starMaterial.ts @@ -6,6 +6,9 @@ import { Scene } from "@babylonjs/core/scene"; import { TransformNode } from "@babylonjs/core/Meshes/transformNode"; import { StarModel } from "./starModel"; import { getInverseRotationQuaternion } from "../../uberCore/transforms/basicTransform"; +import { Assets } from "../../assets"; +import { ProceduralTexture } from "@babylonjs/core/Materials/Textures/Procedurals/proceduralTexture"; +import lutFragment from "../../../shaders/starMaterial/utils/lut.glsl"; export class StarMaterial extends ShaderMaterial { star: TransformNode; @@ -23,8 +26,22 @@ export class StarMaterial extends ShaderMaterial { super("starColor", scene, shaderName, { attributes: ["position"], - uniforms: ["world", "worldViewProjection", "seed", "starColor", "starPosition", "starInverseRotationQuaternion", "time"] + uniforms: ["world", "worldViewProjection", "seed", "starColor", "starPosition", "starInverseRotationQuaternion", "time"], + samplers: ["lut"] }); + + if(Effect.ShadersStore["starLutFragmentShader"] === undefined) { + Effect.ShadersStore["starLutFragmentShader"] = lutFragment; + } + + + this.setTexture("lut", Assets.EmptyTexture); + const lut = new ProceduralTexture("lut", 4096, "starLut", scene, null, true, false); + lut.refreshRate = 0; + lut.executeWhenReady(() => { + this.setTexture("lut", lut); + }); + this.star = star; this.starModel = model; this.starSeed = model.seed; From 4b2d6d411af3886b45c40c08eaae271252c9e09e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 17:43:56 +0100 Subject: [PATCH 47/51] better camera radius handling when on space legs --- src/ts/spacelegs/characterController.ts | 1 + src/ts/uberCore/uberOrbitCamera.ts | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ts/spacelegs/characterController.ts b/src/ts/spacelegs/characterController.ts index 51928ccb4..2ff773d25 100644 --- a/src/ts/spacelegs/characterController.ts +++ b/src/ts/spacelegs/characterController.ts @@ -94,6 +94,7 @@ export class CharacterController extends AbstractController { this.targetAnim = this.idleAnim; this.thirdPersonCamera = new UberOrbitCamera("camera", new Vector3(0, 1.5, 0), scene, 40, -Math.PI / 4, 1.0); + this.thirdPersonCamera.minRadius = 5; this.thirdPersonCamera.minZ = 1; this.thirdPersonCamera.maxZ = Settings.EARTH_RADIUS * 5; this.thirdPersonCamera.parent = this.getTransform(); diff --git a/src/ts/uberCore/uberOrbitCamera.ts b/src/ts/uberCore/uberOrbitCamera.ts index 4cbfe58d7..3bf59f421 100644 --- a/src/ts/uberCore/uberOrbitCamera.ts +++ b/src/ts/uberCore/uberOrbitCamera.ts @@ -8,6 +8,9 @@ export class UberOrbitCamera extends UberCamera { private phi: number; private theta: number; + minRadius = 10; + maxRadius = 1000; + constructor(name: string, target: Vector3, scene: Scene, radius = 1, phi = 0, theta = 0) { super(name, Vector3.Zero(), scene); this.cameraTarget = target; @@ -35,7 +38,7 @@ export class UberOrbitCamera extends UberCamera { } public increaseRadius(deltaRadius: number) { - this.radius = Math.min(Math.max(this.radius + deltaRadius, 10), 1000); + this.radius = Math.min(Math.max(this.radius + deltaRadius, this.minRadius), this.maxRadius); this.updatePosition(); } From 7b2fecaa669f84b1fd997c8ad214eee4a5801bfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 18:10:59 +0100 Subject: [PATCH 48/51] first vr test --- src/ts/playground.ts | 78 ++++++++++++++++++++++++++++---------------- 1 file changed, 50 insertions(+), 28 deletions(-) diff --git a/src/ts/playground.ts b/src/ts/playground.ts index 7954adb8c..5f3001a47 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -2,31 +2,22 @@ import "../styles/index.scss"; import { Assets } from "./assets"; import { Vector3 } from "@babylonjs/core/Maths/math.vector"; -import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; import { OceanPostProcess } from "./postProcesses/oceanPostProcess"; import { UberScene } from "./uberCore/uberScene"; import { translate } from "./uberCore/transforms/basicTransform"; -import { Keyboard } from "./inputs/keyboard"; -import { Mouse } from "./inputs/mouse"; -import { EngineFactory } from "@babylonjs/core"; -import { DefaultController } from "./defaultController/defaultController" import { PointLightWrapper, TransformNodeWrapper } from "./utils/wrappers"; import { MeshBuilder } from "@babylonjs/core/Meshes/meshBuilder"; import { PointLight } from "@babylonjs/core/Lights/pointLight"; +import { FreeCamera } from "@babylonjs/core/Cameras/freeCamera"; +import { Engine } from "@babylonjs/core/Engines/engine"; + +import "@babylonjs/core"; const canvas = document.getElementById("renderer") as HTMLCanvasElement; canvas.width = window.innerWidth; canvas.height = window.innerHeight; -const wasmPath = new URL("./utils/TWGSL/twgsl.wasm", import.meta.url); -const jsPath = new URL("./utils/TWGSL/twgsl.js", import.meta.url); - -const engine = await EngineFactory.CreateAsync(canvas, { - twgslOptions: { - wasmPath: wasmPath.href, - jsPath: jsPath.href - } -}); +const engine = new Engine(canvas, true); engine.useReverseDepthBuffer = true; @@ -37,34 +28,65 @@ await Assets.Init(scene); const sphereRadius = 1e3; -const defaultController = new DefaultController(scene); -defaultController.addInput(new Keyboard()); -defaultController.addInput(new Mouse(canvas)); -defaultController.getActiveCamera().maxZ = 1e6; -defaultController.speed *= sphereRadius; -scene.setActiveController(defaultController); +const camera = new FreeCamera("camera", new Vector3(0, 0, 0), scene); +camera.maxZ = 1e6; +camera.speed *= sphereRadius * 0.1; +scene.setActiveCamera(camera); +camera.attachControl(canvas, true); + +const xr = await scene.createDefaultXRExperienceAsync(); +if (!xr.baseExperience) { + // no xr support + throw new Error("No XR support"); +} else { + // all good, ready to go + console.log("XR support"); +} + +const webXRInput = xr.input; // if using the experience helper, otherwise, an instance of WebXRInput +webXRInput.onControllerAddedObservable.add((xrController) => { + console.log("Controller added"); + xrController.onMotionControllerInitObservable.add((motionController) => { + console.log("Motion controller initialized"); + + const mainComponent = motionController.getMainComponent(); + + mainComponent.onButtonStateChangedObservable.add((component) => { + if (component.changes.pressed) { + if (component.changes.pressed.current) { + console.log("Pressed"); + } + if (component.pressed) { + console.log("Pressed"); + } + } + + }); + }); +}); -const sphere = new TransformNodeWrapper(MeshBuilder.CreateSphere("sphere", {diameter: sphereRadius*2}, scene), sphereRadius); +const xrCamera = xr.baseExperience.camera; +xrCamera.setTransformationFromNonVRCamera(camera); + +const sphere = new TransformNodeWrapper(MeshBuilder.CreateSphere("sphere", { diameter: sphereRadius * 2 }, scene), sphereRadius); translate(sphere.getTransform(), new Vector3(0, 0, sphereRadius * 4)); const star = new PointLightWrapper(new PointLight("dir01", new Vector3(0, 1, 0), scene)); translate(star.getTransform(), new Vector3(0, 0, -sphereRadius * 4e3)); - const ocean = new OceanPostProcess("ocean", sphere, scene, [star]); ocean.oceanUniforms.oceanRadius = sphereRadius * 1.1; -defaultController.getActiveCamera().attachPostProcess(ocean); +camera.attachPostProcess(ocean); scene.onBeforeRenderObservable.add(() => { const deltaTime = scene.deltaTime / 1000; ocean.update(deltaTime); - defaultController.update(scene.deltaTime); - if (defaultController.getActiveCamera().getAbsolutePosition().length() > 100) { - translate(sphere.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); - translate(star.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); - translate(defaultController.getTransform(), defaultController.getActiveCamera().getAbsolutePosition().negate()); + if (camera.globalPosition.length() > 100) { + translate(sphere.getTransform(), camera.globalPosition.negate()); + translate(star.getTransform(), camera.globalPosition.negate()); + camera.position.set(0, 0, 0); } }); From c5113a445737248fb0847dced760be8dce730181 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 18:18:56 +0100 Subject: [PATCH 49/51] Delete .github/workflows/greetings.yml --- .github/workflows/greetings.yml | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 .github/workflows/greetings.yml diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml deleted file mode 100644 index ee1cb1167..000000000 --- a/.github/workflows/greetings.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Greetings - -on: [pull_request, issues] - -jobs: - greeting: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: actions/first-interaction@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - issue-message: 'Message that will be displayed on users first issue' - pr-message: 'Message that will be displayed on users first pull request' From 7b73cdf6b2b19e18f92d117c4c3414a1c6511980 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 18:20:09 +0100 Subject: [PATCH 50/51] formatting --- src/ts/assets.ts | 2 +- src/ts/debugAssets.ts | 7 +- src/ts/index.ts | 5 +- .../planemos/gasPlanet/gasPlanetMaterial.ts | 24 ++++-- .../telluricPlanemoMaterial.ts | 4 +- .../terrain/chunks/deleteSemaphore.ts | 2 +- .../terrain/instancePatch/patchManager.ts | 2 +- .../terrain/workers/buildScript.ts | 2 +- src/ts/planetWalk.ts | 44 +++++----- src/ts/playground.ts | 1 - .../atmosphericScatteringPostProcess.ts | 3 +- src/ts/postProcesses/blackHolePostProcess.ts | 3 +- .../clouds/flatCloudsPostProcess.ts | 5 +- src/ts/postProcesses/lensFlarePostProcess.ts | 11 ++- src/ts/postProcesses/mandelbulbPostProcess.ts | 3 +- src/ts/postProcesses/matterJetPostProcess.ts | 3 +- src/ts/postProcesses/oceanPostProcess.ts | 2 +- src/ts/postProcesses/postProcessManager.ts | 5 +- .../postProcesses/rings/ringsPostProcess.ts | 7 +- src/ts/postProcesses/rings/ringsUniform.ts | 2 +- src/ts/postProcesses/shadowPostProcess.ts | 6 +- src/ts/postProcesses/uniforms.ts | 16 ++-- .../volumetricCloudsPostProcess.ts | 3 +- src/ts/spacelegs/characterController.ts | 10 +-- src/ts/starSystem/StarSystemView.ts | 10 ++- src/ts/starSystem/starSystemHelper.ts | 10 ++- src/ts/stellarObjects/star/starMaterial.ts | 7 +- src/ts/uberCore/uberCamera.ts | 1 - src/ts/ui/bodyEditor/bodyEditor.ts | 2 +- src/ts/utils/wrappers.ts | 80 +++++++++---------- 30 files changed, 141 insertions(+), 141 deletions(-) diff --git a/src/ts/assets.ts b/src/ts/assets.ts index 7cde59685..9c0affcae 100644 --- a/src/ts/assets.ts +++ b/src/ts/assets.ts @@ -241,4 +241,4 @@ export class Assets { mat.wireframe = wireframe; return mat; } -} \ No newline at end of file +} diff --git a/src/ts/debugAssets.ts b/src/ts/debugAssets.ts index 8b4b8b173..0d42cc0c7 100644 --- a/src/ts/debugAssets.ts +++ b/src/ts/debugAssets.ts @@ -39,12 +39,11 @@ function showTexture(texture: BaseTexture, position: Vector3) { plane.material = material; } - const sideLength = 10; let meshCounter = 0; -for(const rootMesh of scene.meshes) { +for (const rootMesh of scene.meshes) { rootMesh.isVisible = true; - if(rootMesh.parent !== null) continue; + if (rootMesh.parent !== null) continue; meshCounter++; const extent = rootMesh.getHierarchyBoundingVectors(); const maxDimension = Math.max(extent.max.x - extent.min.x, extent.max.y - extent.min.y, extent.max.z - extent.min.z); @@ -53,7 +52,7 @@ for(const rootMesh of scene.meshes) { } const transformNodes = scene.transformNodes.slice(); -for(const transform of transformNodes) { +for (const transform of transformNodes) { transform.instantiateHierarchy(); } diff --git a/src/ts/index.ts b/src/ts/index.ts index 308c4c687..4246b1288 100644 --- a/src/ts/index.ts +++ b/src/ts/index.ts @@ -221,15 +221,14 @@ document.addEventListener("keydown", (e) => { starSystemView.getStarSystem().postProcessManager.rebuild(); spaceshipController.setEnabled(false, engine.getHavokPlugin()); - } else if(starSystemView.scene.getActiveController() === defaultController) { + } else if (starSystemView.scene.getActiveController() === defaultController) { characterController.getTransform().setEnabled(true); starSystemView.scene.setActiveController(characterController); setRotationQuaternion(characterController.getTransform(), getRotationQuaternion(defaultController.getTransform()).clone()); starSystemView.getStarSystem().postProcessManager.rebuild(); spaceshipController.setEnabled(false, engine.getHavokPlugin()); - - } else if(starSystemView.scene.getActiveController() === characterController) { + } else if (starSystemView.scene.getActiveController() === characterController) { characterController.getTransform().setEnabled(false); starSystemView.scene.setActiveController(spaceshipController); setRotationQuaternion(spaceshipController.getTransform(), getRotationQuaternion(defaultController.getTransform()).clone()); diff --git a/src/ts/planemos/gasPlanet/gasPlanetMaterial.ts b/src/ts/planemos/gasPlanet/gasPlanetMaterial.ts index 6219c2a2f..2b3270a55 100644 --- a/src/ts/planemos/gasPlanet/gasPlanetMaterial.ts +++ b/src/ts/planemos/gasPlanet/gasPlanetMaterial.ts @@ -22,16 +22,30 @@ export class GasPlanetMaterial extends ShaderMaterial { constructor(planetName: string, planet: TransformNode, model: GasPlanetModel, scene: Scene) { const shaderName = "gasPlanetMaterial"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = surfaceMaterialFragment; } - if(Effect.ShadersStore[`${shaderName}VertexShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}VertexShader`] === undefined) { Effect.ShadersStore[`${shaderName}VertexShader`] = surfaceMaterialVertex; } super(`${planetName}GasSurfaceColor`, scene, shaderName, { attributes: ["position", "normal"], - uniforms: ["world", "worldViewProjection", "normalMatrix", "seed", "star_positions", "star_colors", "nbStars", "color1", "color2", "color3", "colorSharpness", "time", "playerPosition"] + uniforms: [ + "world", + "worldViewProjection", + "normalMatrix", + "seed", + "star_positions", + "star_colors", + "nbStars", + "color1", + "color2", + "color3", + "colorSharpness", + "time", + "playerPosition" + ] }); this.planet = planet; @@ -72,8 +86,8 @@ export class GasPlanetMaterial extends ShaderMaterial { this.setVector3("playerPosition", player.getActiveCamera().getAbsolutePosition()); - this.setArray3("star_positions", flattenVector3Array(stellarObjects.map(star => star.getTransform().getAbsolutePosition()))); - this.setArray3("star_colors", flattenVector3Array(stellarObjects.map(star => star instanceof Star ? star.model.surfaceColor : Vector3.One()))) + this.setArray3("star_positions", flattenVector3Array(stellarObjects.map((star) => star.getTransform().getAbsolutePosition()))); + this.setArray3("star_colors", flattenVector3Array(stellarObjects.map((star) => (star instanceof Star ? star.model.surfaceColor : Vector3.One())))); this.setInt("nbStars", stellarObjects.length); this.setFloat("time", this.clock % 100000); diff --git a/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts b/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts index f56833e08..7c37051bc 100644 --- a/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts +++ b/src/ts/planemos/telluricPlanemo/telluricPlanemoMaterial.ts @@ -95,7 +95,7 @@ export class TelluricPlanemoMaterial extends ShaderMaterial { "maxTemperature", "pressure", - "waterAmount", + "waterAmount" ], samplers: ["lut", "bottomNormalMap", "plainNormalMap", "beachNormalMap", "desertNormalMap", "snowNormalMap", "steepNormalMap"] }); @@ -140,7 +140,7 @@ export class TelluricPlanemoMaterial extends ShaderMaterial { this.setVector3("planetPosition", this.planemoTransform.getAbsolutePosition()); - if(Effect.ShadersStore["telluricPlanemoLutFragmentShader"] === undefined) { + if (Effect.ShadersStore["telluricPlanemoLutFragmentShader"] === undefined) { Effect.ShadersStore["telluricPlanemoLutFragmentShader"] = lutFragment; } diff --git a/src/ts/planemos/telluricPlanemo/terrain/chunks/deleteSemaphore.ts b/src/ts/planemos/telluricPlanemo/terrain/chunks/deleteSemaphore.ts index 2bccd4202..295a3bb44 100644 --- a/src/ts/planemos/telluricPlanemo/terrain/chunks/deleteSemaphore.ts +++ b/src/ts/planemos/telluricPlanemo/terrain/chunks/deleteSemaphore.ts @@ -45,7 +45,7 @@ export class DeleteSemaphore { break; } } - if(!anyNewChunkDisposed) return; + if (!anyNewChunkDisposed) return; this.flag = 0; this.resolve(); diff --git a/src/ts/planemos/telluricPlanemo/terrain/instancePatch/patchManager.ts b/src/ts/planemos/telluricPlanemo/terrain/instancePatch/patchManager.ts index 10ec258b7..635fc434e 100644 --- a/src/ts/planemos/telluricPlanemo/terrain/instancePatch/patchManager.ts +++ b/src/ts/planemos/telluricPlanemo/terrain/instancePatch/patchManager.ts @@ -121,4 +121,4 @@ import { TransformNode } from "@babylonjs/core/Meshes/transformNode"; return count; } } -*/ \ No newline at end of file +*/ diff --git a/src/ts/planemos/telluricPlanemo/terrain/workers/buildScript.ts b/src/ts/planemos/telluricPlanemo/terrain/workers/buildScript.ts index e3306d18b..8206358df 100644 --- a/src/ts/planemos/telluricPlanemo/terrain/workers/buildScript.ts +++ b/src/ts/planemos/telluricPlanemo/terrain/workers/buildScript.ts @@ -57,7 +57,7 @@ function handle_build(data: TransferBuildData): void { normals: normals, instancesMatrixBuffer: instances_matrix_buffer, alignedInstancesMatrixBuffer: aligned_instances_matrix_buffer, - averageHeight: result.average_height, + averageHeight: result.average_height } as ReturnedChunkData, { transfer: [verticesPositions.buffer, indices.buffer, normals.buffer, instances_matrix_buffer.buffer, aligned_instances_matrix_buffer.buffer] diff --git a/src/ts/planetWalk.ts b/src/ts/planetWalk.ts index 290712dfd..e5ad68cbb 100644 --- a/src/ts/planetWalk.ts +++ b/src/ts/planetWalk.ts @@ -89,7 +89,7 @@ capsuleAggregate.body.setMassProperties({ inertia: Vector3.Zero(), mass: 1 }); const aggregates = [sphereAggregate, capsuleAggregate, newton.aggregate]; for (const aggregate of aggregates) { - aggregate.body.disablePreStep = false; + aggregate.body.disablePreStep = false; } const fallingAggregates = [sphereAggregate, capsuleAggregate]; @@ -100,36 +100,36 @@ const gravity = -9.81; let clockSeconds = 0; function updateBeforeHavok() { - const deltaTime = engine.getDeltaTime() / 1000; - clockSeconds += deltaTime; + const deltaTime = engine.getDeltaTime() / 1000; + clockSeconds += deltaTime; - chunkForge.update(); + chunkForge.update(); - for (const aggregate of fallingAggregates) { - const mass = aggregate.body.getMassProperties().mass; - if (mass === undefined) throw new Error(`Mass is undefined for ${aggregate.body}`); - const gravityDirection = aggregate.body.getObjectCenterWorld().subtract(gravityOrigin).normalize(); - aggregate.body.applyForce(gravityDirection.scaleInPlace(gravity * mass), aggregate.body.getObjectCenterWorld()); - } + for (const aggregate of fallingAggregates) { + const mass = aggregate.body.getMassProperties().mass; + if (mass === undefined) throw new Error(`Mass is undefined for ${aggregate.body}`); + const gravityDirection = aggregate.body.getObjectCenterWorld().subtract(gravityOrigin).normalize(); + aggregate.body.applyForce(gravityDirection.scaleInPlace(gravity * mass), aggregate.body.getObjectCenterWorld()); + } - characterController.update(deltaTime); + characterController.update(deltaTime); - // planet thingy - newton.updateInternalClock(-deltaTime / 10); - aurora.updateInternalClock(-deltaTime / 10); + // planet thingy + newton.updateInternalClock(-deltaTime / 10); + aurora.updateInternalClock(-deltaTime / 10); - newton.updateLOD(characterController.getActiveCamera().getAbsolutePosition(), chunkForge); - newton.material.update(characterController.getActiveCamera().getAbsolutePosition(), [aurora]); + newton.updateLOD(characterController.getActiveCamera().getAbsolutePosition(), chunkForge); + newton.material.update(characterController.getActiveCamera().getAbsolutePosition(), [aurora]); } scene.executeWhenReady(() => { - engine.loadingScreen.hideLoadingUI(); - scene.onBeforePhysicsObservable.add(updateBeforeHavok); - engine.runRenderLoop(() => scene.render()); + engine.loadingScreen.hideLoadingUI(); + scene.onBeforePhysicsObservable.add(updateBeforeHavok); + engine.runRenderLoop(() => scene.render()); }); window.addEventListener("resize", () => { - engine.resize(); - canvas.width = window.innerWidth; - canvas.height = window.innerHeight; + engine.resize(); + canvas.width = window.innerWidth; + canvas.height = window.innerHeight; }); diff --git a/src/ts/playground.ts b/src/ts/playground.ts index 5f3001a47..bd6612d18 100644 --- a/src/ts/playground.ts +++ b/src/ts/playground.ts @@ -60,7 +60,6 @@ webXRInput.onControllerAddedObservable.add((xrController) => { console.log("Pressed"); } } - }); }); }); diff --git a/src/ts/postProcesses/atmosphericScatteringPostProcess.ts b/src/ts/postProcesses/atmosphericScatteringPostProcess.ts index 867ee6665..8fdb0f38f 100644 --- a/src/ts/postProcesses/atmosphericScatteringPostProcess.ts +++ b/src/ts/postProcesses/atmosphericScatteringPostProcess.ts @@ -32,9 +32,8 @@ export class AtmosphericScatteringPostProcess extends UberPostProcess implements readonly object: TelluricPlanemo | GasPlanet; constructor(name: string, planet: GasPlanet | TelluricPlanemo, atmosphereHeight: number, scene: UberScene, stellarObjects: Transformable[]) { - const shaderName = "atmosphericScattering"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = atmosphericScatteringFragment; } diff --git a/src/ts/postProcesses/blackHolePostProcess.ts b/src/ts/postProcesses/blackHolePostProcess.ts index b1edc43f4..de547ff7f 100644 --- a/src/ts/postProcesses/blackHolePostProcess.ts +++ b/src/ts/postProcesses/blackHolePostProcess.ts @@ -21,9 +21,8 @@ export class BlackHolePostProcess extends UberPostProcess implements ObjectPostP readonly object: BlackHole; constructor(blackHole: BlackHole, scene: UberScene, starfieldRotation: Quaternion) { - const shaderName = "blackhole"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = blackHoleFragment; } diff --git a/src/ts/postProcesses/clouds/flatCloudsPostProcess.ts b/src/ts/postProcesses/clouds/flatCloudsPostProcess.ts index 98f770795..83892709e 100644 --- a/src/ts/postProcesses/clouds/flatCloudsPostProcess.ts +++ b/src/ts/postProcesses/clouds/flatCloudsPostProcess.ts @@ -34,10 +34,7 @@ export class FlatCloudsPostProcess extends UberPostProcess implements ObjectPost ]; return cloudsUniforms.getShaderSamplers(scene).then((cloudSamplers) => { - const samplers: ShaderSamplers = [ - ...getSamplers(scene), - ...cloudSamplers, - ]; + const samplers: ShaderSamplers = [...getSamplers(scene), ...cloudSamplers]; return new FlatCloudsPostProcess(name, shaderName, planet, cloudsUniforms, uniforms, samplers, scene); }); } diff --git a/src/ts/postProcesses/lensFlarePostProcess.ts b/src/ts/postProcesses/lensFlarePostProcess.ts index 4bfdea8cb..a5f899b68 100644 --- a/src/ts/postProcesses/lensFlarePostProcess.ts +++ b/src/ts/postProcesses/lensFlarePostProcess.ts @@ -24,9 +24,8 @@ export class LensFlarePostProcess extends UberPostProcess implements ObjectPostP readonly object: StellarObject; constructor(object: StellarObject, scene: UberScene) { - const shaderName = "lensflare"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = lensFlareFragment; } @@ -52,10 +51,10 @@ export class LensFlarePostProcess extends UberPostProcess implements ObjectPostP type: UniformEnumType.Vector3, get: () => { const clipPosition = Vector3.Project( - object.getTransform().getAbsolutePosition(), - Matrix.IdentityReadOnly, - scene.getTransformMatrix(), - scene.getActiveUberCamera().viewport + object.getTransform().getAbsolutePosition(), + Matrix.IdentityReadOnly, + scene.getTransformMatrix(), + scene.getActiveUberCamera().viewport ); settings.behindCamera = clipPosition.z < 0; return clipPosition; diff --git a/src/ts/postProcesses/mandelbulbPostProcess.ts b/src/ts/postProcesses/mandelbulbPostProcess.ts index be1e61bc0..a9089949d 100644 --- a/src/ts/postProcesses/mandelbulbPostProcess.ts +++ b/src/ts/postProcesses/mandelbulbPostProcess.ts @@ -17,9 +17,8 @@ export class MandelbulbPostProcess extends UberPostProcess implements ObjectPost readonly object: Mandelbulb; constructor(mandelbulb: Mandelbulb, scene: UberScene, stellarObjects: StellarObject[]) { - const shaderName = "mandelbulb"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = mandelbulbFragment; } diff --git a/src/ts/postProcesses/matterJetPostProcess.ts b/src/ts/postProcesses/matterJetPostProcess.ts index 5ec19fdf8..bd5422a4d 100644 --- a/src/ts/postProcesses/matterJetPostProcess.ts +++ b/src/ts/postProcesses/matterJetPostProcess.ts @@ -22,9 +22,8 @@ export class MatterJetPostProcess extends UberPostProcess implements ObjectPostP object: BaseObject; constructor(name: string, stellarObject: StellarObject, scene: UberScene) { - const shaderName = "matterjet"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = matterJetFragment; } diff --git a/src/ts/postProcesses/oceanPostProcess.ts b/src/ts/postProcesses/oceanPostProcess.ts index 7d91a12b8..6aa9d5e6e 100644 --- a/src/ts/postProcesses/oceanPostProcess.ts +++ b/src/ts/postProcesses/oceanPostProcess.ts @@ -131,4 +131,4 @@ export class OceanPostProcess extends UberPostProcess implements ObjectPostProce public update(deltaTime: number) { this.oceanUniforms.time += deltaTime; } -} \ No newline at end of file +} diff --git a/src/ts/postProcesses/postProcessManager.ts b/src/ts/postProcesses/postProcessManager.ts index 72dbbbd8b..a84ccf2a8 100644 --- a/src/ts/postProcesses/postProcessManager.ts +++ b/src/ts/postProcesses/postProcessManager.ts @@ -180,7 +180,10 @@ export class PostProcessManager { */ public async addClouds(planet: TelluricPlanemo, stellarObjects: StellarObject[]) { const uniforms = planet.model.cloudsUniforms; - if(uniforms === null) throw new Error(`PostProcessManager: addClouds: uniforms are null. This should not be possible as the postprocess should not be created if the body has no clouds. Body: ${planet.name}`); + if (uniforms === null) + throw new Error( + `PostProcessManager: addClouds: uniforms are null. This should not be possible as the postprocess should not be created if the body has no clouds. Body: ${planet.name}` + ); return FlatCloudsPostProcess.CreateAsync(`${planet.name}Clouds`, planet, uniforms, this.scene, stellarObjects).then((clouds) => { this.clouds.push(clouds); }); diff --git a/src/ts/postProcesses/rings/ringsPostProcess.ts b/src/ts/postProcesses/rings/ringsPostProcess.ts index 2335b2623..7befceedf 100644 --- a/src/ts/postProcesses/rings/ringsPostProcess.ts +++ b/src/ts/postProcesses/rings/ringsPostProcess.ts @@ -15,7 +15,7 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce public static async CreateAsync(body: AbstractBody, scene: UberScene, stellarObjects: Transformable[]): Promise { const shaderName = "rings"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = ringsFragment; } @@ -32,10 +32,7 @@ export class RingsPostProcess extends UberPostProcess implements ObjectPostProce ]; return ringsUniforms.getShaderSamplers(scene).then((ringSamplers) => { - const samplers: ShaderSamplers = [ - ...getSamplers(scene), - ...ringSamplers - ]; + const samplers: ShaderSamplers = [...getSamplers(scene), ...ringSamplers]; return new RingsPostProcess(body.name + "Rings", shaderName, uniforms, samplers, scene, body, ringsUniforms); }); } diff --git a/src/ts/postProcesses/rings/ringsUniform.ts b/src/ts/postProcesses/rings/ringsUniform.ts index 25a35ea3f..13b9cd4fb 100644 --- a/src/ts/postProcesses/rings/ringsUniform.ts +++ b/src/ts/postProcesses/rings/ringsUniform.ts @@ -160,7 +160,7 @@ export class RingsUniforms { } return new Promise((resolve, reject) => { - if(this.ringLut === null) throw new Error("Ring LUT was null when creating promise"); + if (this.ringLut === null) throw new Error("Ring LUT was null when creating promise"); this.ringLut.executeWhenReady(() => { if (this.ringLut === null) throw new Error("Ring LUT was null when executing when ready"); resolve(this.ringLut); diff --git a/src/ts/postProcesses/shadowPostProcess.ts b/src/ts/postProcesses/shadowPostProcess.ts index 7280a0a67..d3178fafb 100644 --- a/src/ts/postProcesses/shadowPostProcess.ts +++ b/src/ts/postProcesses/shadowPostProcess.ts @@ -70,13 +70,9 @@ export class ShadowPostProcess extends UberPostProcess implements ObjectPostProc uniforms.push(...ringsUniforms.getShaderUniforms()); return ringsUniforms.getShaderSamplers(scene).then((ringSamplers) => { - const samplers: ShaderSamplers = [ - ...getSamplers(scene), - ...ringSamplers - ]; + const samplers: ShaderSamplers = [...getSamplers(scene), ...ringSamplers]; return new ShadowPostProcess(body.name + "Shadow", body, scene, shaderName, uniforms, samplers, shadowUniforms); }); - } else { uniforms.push(...RingsUniforms.getEmptyShaderUniforms()); const samplers: ShaderSamplers = [ diff --git a/src/ts/postProcesses/uniforms.ts b/src/ts/postProcesses/uniforms.ts index 0104af780..25cb3d317 100644 --- a/src/ts/postProcesses/uniforms.ts +++ b/src/ts/postProcesses/uniforms.ts @@ -20,7 +20,7 @@ export function getActiveCameraUniforms(scene: Scene): ShaderUniforms { name: "camera_projection", type: UniformEnumType.Matrix, get: () => { - if(scene.activeCamera === null) throw new Error("No active camera"); + if (scene.activeCamera === null) throw new Error("No active camera"); return scene.activeCamera.getProjectionMatrix(); } }, @@ -28,7 +28,7 @@ export function getActiveCameraUniforms(scene: Scene): ShaderUniforms { name: "camera_inverseProjection", type: UniformEnumType.Matrix, get: () => { - if(scene.activeCamera === null) throw new Error("No active camera"); + if (scene.activeCamera === null) throw new Error("No active camera"); return scene.activeCamera.getProjectionMatrix().clone().invert(); } }, @@ -36,7 +36,7 @@ export function getActiveCameraUniforms(scene: Scene): ShaderUniforms { name: "camera_view", type: UniformEnumType.Matrix, get: () => { - if(scene.activeCamera === null) throw new Error("No active camera"); + if (scene.activeCamera === null) throw new Error("No active camera"); return scene.activeCamera.getViewMatrix(); } }, @@ -44,7 +44,7 @@ export function getActiveCameraUniforms(scene: Scene): ShaderUniforms { name: "camera_inverseView", type: UniformEnumType.Matrix, get: () => { - if(scene.activeCamera === null) throw new Error("No active camera"); + if (scene.activeCamera === null) throw new Error("No active camera"); return scene.activeCamera.getViewMatrix().clone().invert(); } }, @@ -52,7 +52,7 @@ export function getActiveCameraUniforms(scene: Scene): ShaderUniforms { name: "camera_near", type: UniformEnumType.Float, get: () => { - if(scene.activeCamera === null) throw new Error("No active camera"); + if (scene.activeCamera === null) throw new Error("No active camera"); return scene.activeCamera.minZ; } }, @@ -60,7 +60,7 @@ export function getActiveCameraUniforms(scene: Scene): ShaderUniforms { name: "camera_far", type: UniformEnumType.Float, get: () => { - if(scene.activeCamera === null) throw new Error("No active camera"); + if (scene.activeCamera === null) throw new Error("No active camera"); return scene.activeCamera.maxZ; } } @@ -72,12 +72,12 @@ export function getStellarObjectsUniforms(stars: Transformable[]): ShaderUniform { name: "star_positions", type: UniformEnumType.Vector3Array, - get: () => stars.map(star => star.getTransform().getAbsolutePosition()) + get: () => stars.map((star) => star.getTransform().getAbsolutePosition()) }, { name: "star_colors", type: UniformEnumType.Vector3Array, - get: () => stars.map(star => star instanceof Star ? star.model.surfaceColor : Vector3.One()) + get: () => stars.map((star) => (star instanceof Star ? star.model.surfaceColor : Vector3.One())) }, { name: "nbStars", diff --git a/src/ts/postProcesses/volumetricCloudsPostProcess.ts b/src/ts/postProcesses/volumetricCloudsPostProcess.ts index 0e79be6f1..84048013e 100644 --- a/src/ts/postProcesses/volumetricCloudsPostProcess.ts +++ b/src/ts/postProcesses/volumetricCloudsPostProcess.ts @@ -18,9 +18,8 @@ export class VolumetricCloudsPostProcess extends UberPostProcess implements Obje readonly object: Transformable; constructor(name: string, planet: Transformable & BoundingSphere, cloudsUniforms: CloudsUniforms, scene: UberScene, stars: StellarObject[]) { - const shaderName = "volumetricClouds"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = volumetricCloudsFragment; } diff --git a/src/ts/spacelegs/characterController.ts b/src/ts/spacelegs/characterController.ts index 2ff773d25..2387af1bc 100644 --- a/src/ts/spacelegs/characterController.ts +++ b/src/ts/spacelegs/characterController.ts @@ -15,7 +15,7 @@ import { PhysicsEngineV2 } from "@babylonjs/core/Physics/v2"; import { PhysicsRaycastResult } from "@babylonjs/core/Physics/physicsRaycastResult"; import { AbstractObject } from "../bodies/abstractObject"; import { Quaternion } from "@babylonjs/core/Maths/math"; -import '@babylonjs/core/Collisions/collisionCoordinator'; +import "@babylonjs/core/Collisions/collisionCoordinator"; import { Mouse } from "../inputs/mouse"; class AnimationGroupWrapper { @@ -85,11 +85,7 @@ export class CharacterController extends AbstractController { this.walkAnim = new AnimationGroupWrapper("walk", walkAnim, 0); this.walkBackAnim = new AnimationGroupWrapper("walkBack", walkBackAnim, 0); this.sambaAnim = new AnimationGroupWrapper("samba", sambaAnim, 0); - this.nonIdleAnimations = [ - this.walkAnim, - this.walkBackAnim, - this.sambaAnim - ] + this.nonIdleAnimations = [this.walkAnim, this.walkBackAnim, this.sambaAnim]; this.targetAnim = this.idleAnim; @@ -115,7 +111,7 @@ export class CharacterController extends AbstractController { protected override listenTo(input: Input, deltaTime: number): Vector3 { const displacement = Vector3.Zero(); if (input instanceof Mouse) { - if(input.isLeftButtonPressed()) { + if (input.isLeftButtonPressed()) { this.thirdPersonCamera.rotatePhi(-input.getDxNormalized() * 300 * deltaTime); this.thirdPersonCamera.rotateTheta(-input.getDyNormalized() * 300 * deltaTime); } diff --git a/src/ts/starSystem/StarSystemView.ts b/src/ts/starSystem/StarSystemView.ts index c9a9b8ec9..2d31067ed 100644 --- a/src/ts/starSystem/StarSystemView.ts +++ b/src/ts/starSystem/StarSystemView.ts @@ -136,7 +136,7 @@ export class StarSystemView { init() { this.scene.getEngine().loadingScreen.displayLoadingUI(); - this.scene.getEngine().loadingScreen.loadingUIText = `Warping to ${this.getStarSystem().model.getName()}` + this.scene.getEngine().loadingScreen.loadingUIText = `Warping to ${this.getStarSystem().model.getName()}`; this.getStarSystem().initPositions(100, this.chunkForge); this.ui.createObjectOverlays(this.getStarSystem().getObjects()); @@ -151,9 +151,11 @@ export class StarSystemView { positionNearObject(activeController, firstBody, this.getStarSystem(), firstBody instanceof BlackHole ? 7 : 5); if (activeController instanceof ShipController) activeController.enableWarpDrive(); - this.getStarSystem().initPostProcesses().then(() => { - this.scene.getEngine().loadingScreen.hideLoadingUI(); - }); + this.getStarSystem() + .initPostProcesses() + .then(() => { + this.scene.getEngine().loadingScreen.hideLoadingUI(); + }); } hideUI() { diff --git a/src/ts/starSystem/starSystemHelper.ts b/src/ts/starSystem/starSystemHelper.ts index 3d1235a51..6c6e0370d 100644 --- a/src/ts/starSystem/starSystemHelper.ts +++ b/src/ts/starSystem/starSystemHelper.ts @@ -51,7 +51,10 @@ export class StarSystemHelper { return blackHole; } - public static makeNeutronStar(starsystem: StarSystemController, model: number | NeutronStarModel = starsystem.model.getStarSeed(starsystem.stellarObjects.length)): NeutronStar { + public static makeNeutronStar( + starsystem: StarSystemController, + model: number | NeutronStarModel = starsystem.model.getStarSeed(starsystem.stellarObjects.length) + ): NeutronStar { if (starsystem.stellarObjects.length >= starsystem.model.getNbStars()) console.warn(`You are adding a neutron star to a system that already has ${starsystem.stellarObjects.length} stars. @@ -89,7 +92,10 @@ export class StarSystemHelper { * @param starsystem * @param model The model or seed to use for the planet generation (by default, the next available seed planned by the system model) */ - public static makeTelluricPlanet(starsystem: StarSystemController, model: number | TelluricPlanemoModel = starsystem.model.getPlanetSeed(starsystem.planets.length)): TelluricPlanemo { + public static makeTelluricPlanet( + starsystem: StarSystemController, + model: number | TelluricPlanemoModel = starsystem.model.getPlanetSeed(starsystem.planets.length) + ): TelluricPlanemo { const planet = new TelluricPlanemo(`${starsystem.model.getName()} ${romanNumeral(starsystem.planets.length + 1)}`, starsystem.scene, model, starsystem.stellarObjects[0]); starsystem.addTelluricPlanet(planet); return planet; diff --git a/src/ts/stellarObjects/star/starMaterial.ts b/src/ts/stellarObjects/star/starMaterial.ts index 56dd7fb69..626a085dc 100644 --- a/src/ts/stellarObjects/star/starMaterial.ts +++ b/src/ts/stellarObjects/star/starMaterial.ts @@ -17,10 +17,10 @@ export class StarMaterial extends ShaderMaterial { constructor(star: TransformNode, model: StarModel, scene: Scene) { const shaderName = "starMaterial"; - if(Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}FragmentShader`] === undefined) { Effect.ShadersStore[`${shaderName}FragmentShader`] = starMaterialFragment; } - if(Effect.ShadersStore[`${shaderName}VertexShader`] === undefined) { + if (Effect.ShadersStore[`${shaderName}VertexShader`] === undefined) { Effect.ShadersStore[`${shaderName}VertexShader`] = starMaterialVertex; } @@ -30,11 +30,10 @@ export class StarMaterial extends ShaderMaterial { samplers: ["lut"] }); - if(Effect.ShadersStore["starLutFragmentShader"] === undefined) { + if (Effect.ShadersStore["starLutFragmentShader"] === undefined) { Effect.ShadersStore["starLutFragmentShader"] = lutFragment; } - this.setTexture("lut", Assets.EmptyTexture); const lut = new ProceduralTexture("lut", 4096, "starLut", scene, null, true, false); lut.refreshRate = 0; diff --git a/src/ts/uberCore/uberCamera.ts b/src/ts/uberCore/uberCamera.ts index 7a528e86e..f186f4cf6 100644 --- a/src/ts/uberCore/uberCamera.ts +++ b/src/ts/uberCore/uberCamera.ts @@ -3,7 +3,6 @@ import { Vector3 } from "@babylonjs/core/Maths/math.vector"; import { Scene } from "@babylonjs/core/scene"; export class UberCamera extends FreeCamera { - constructor(name: string, position: Vector3, scene: Scene) { super(name, position, scene); } diff --git a/src/ts/ui/bodyEditor/bodyEditor.ts b/src/ts/ui/bodyEditor/bodyEditor.ts index ef00767cd..366baedb4 100644 --- a/src/ts/ui/bodyEditor/bodyEditor.ts +++ b/src/ts/ui/bodyEditor/bodyEditor.ts @@ -167,7 +167,7 @@ export class BodyEditor { if (body instanceof TelluricPlanemo) { this.initToolbar(body); - + this.surfacePanel.enable(); this.surfacePanel.setVisibility(this.currentPanel === this.surfacePanel); this.surfacePanel.init(body); diff --git a/src/ts/utils/wrappers.ts b/src/ts/utils/wrappers.ts index 2e788e195..0fcbe56f4 100644 --- a/src/ts/utils/wrappers.ts +++ b/src/ts/utils/wrappers.ts @@ -6,49 +6,49 @@ import { DirectionalLight } from "@babylonjs/core/Lights/directionalLight"; import { PointLight } from "@babylonjs/core/Lights/pointLight"; export class TransformNodeWrapper implements Transformable, BoundingSphere { - readonly transform: TransformNode; - readonly radius: number; - constructor(mesh: TransformNode, radius: number) { - this.transform = mesh; - this.transform.rotationQuaternion = Quaternion.Identity(); - this.radius = radius; - } - - getBoundingRadius(): number { - return this.radius; - } - - getTransform(): TransformNode { - return this.transform; - } + readonly transform: TransformNode; + readonly radius: number; + constructor(mesh: TransformNode, radius: number) { + this.transform = mesh; + this.transform.rotationQuaternion = Quaternion.Identity(); + this.radius = radius; + } + + getBoundingRadius(): number { + return this.radius; + } + + getTransform(): TransformNode { + return this.transform; + } } export class DirectionalLightWrapper implements Transformable { - readonly light: DirectionalLight; - readonly transform: TransformNode; - - constructor(light: DirectionalLight) { - this.light = light; - this.transform = new TransformNode("lightTransform"); - this.light.parent = this.transform; - } - - getTransform(): TransformNode { - return this.transform; - } + readonly light: DirectionalLight; + readonly transform: TransformNode; + + constructor(light: DirectionalLight) { + this.light = light; + this.transform = new TransformNode("lightTransform"); + this.light.parent = this.transform; + } + + getTransform(): TransformNode { + return this.transform; + } } export class PointLightWrapper implements Transformable { - readonly light: PointLight; - readonly transform: TransformNode; - - constructor(light: PointLight) { - this.light = light; - this.transform = new TransformNode("lightTransform"); - this.light.parent = this.transform; - } - - getTransform(): TransformNode { - return this.transform; - } -} \ No newline at end of file + readonly light: PointLight; + readonly transform: TransformNode; + + constructor(light: PointLight) { + this.light = light; + this.transform = new TransformNode("lightTransform"); + this.light.parent = this.transform; + } + + getTransform(): TransformNode { + return this.transform; + } +} From b92048bbb6b5d55ca8fedd23d700a89d9acf5948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Barth=C3=A9lemy?= <31370477+BarthPaleologue@users.noreply.github.com> Date: Sat, 16 Dec 2023 18:24:24 +0100 Subject: [PATCH 51/51] fixed eslint analyzing twgsl file --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 351d4bb10..dd55d7d1a 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,7 @@ "format": "prettier --config .prettierrc 'src/**/*.ts' --write", "test": "jest --coverage", "doc": "typedoc src/ts/**/*.ts --out docs", - "lint:check": "eslint src/ts", - "lint:fix": "eslint src/ts --fix" + "lint:check": "eslint src/ts/**/*.ts", + "lint:fix": "eslint src/ts/**/*.ts --fix" } }

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