Manages all post processes in the scene. The manager dynamically creates the rendering pipeline depending on the current body. This is necessary so the effects are rendered in the correct order. (other objects -> body -> overlays)

Constructors

Properties

blackHoles: BlackHolePostProcess[] = []
bloomRenderEffect: BloomEffect
celestialBodyToPostProcesses: Map<TransformNode, PostProcess[]> = ...
clouds: FlatCloudsPostProcess[] = []
colorCorrection: ColorCorrection

The color correction post process responsible for tone mapping, saturation, contrast, brightness and gamma.

colorCorrectionRenderEffect: PostProcessRenderEffect

The effect storing the color correction post process.

engine: AbstractEngine

The BabylonJS engine

fxaa: FxaaPostProcess

The FXAA post process responsible for antialiasing.

fxaaRenderEffect: PostProcessRenderEffect

The effect storing the FXAA post process.

juliaSets: JuliaSetPostProcess[] = []
lensFlares: LensFlarePostProcess[] = []
mandelboxes: MandelboxPostProcess[] = []
mandelbulbs: MandelbulbPostProcess[] = []
matterJets: MatterJetPostProcess[] = []
mengerSponges: MengerSpongePostProcess[] = []
oceans: OceanPostProcess[] = []
renderingPipelineManager: PostProcessRenderPipelineManager

The BabylonJS rendering pipeline manager of the scene

rings: RingsPostProcess[] = []
scene: UberScene

The scene where the solar system is rendered. It needs to use the wrapper as the post-processes need the depth renderer of the scene.

shadows: ShadowPostProcess[] = []
sierpinskiPyramids: SierpinskiPyramidPostProcess[] = []
volumetricLights: VolumetricLight[] = []

Methods

  • Creates a new Julia set postprocess for the given julia set and adds it to the manager.

    Parameters

    • transform: TransformNode

      The transform of the Julia set

    • radius: number

      The bounding radius of the Julia set

    • model: JuliaSetModel

      The model of the Julia set

    • stellarObjects: StellarObject[]

      An array of stars or black holes

    Returns void

  • Creates a new Mandelbulb postprocess for the given body and adds it to the manager.

    Parameters

    • transform: TransformNode

      The transform of the body

    • radius: number

      The bounding radius of the body

    • model: MandelbulbModel

      The model of the Mandelbulb

    • stellarObjects: StellarObject[]

      An array of stars or black holes

    Returns void

  • Disposes of all post-processes tied to a star system (everything except color correction and FXAA). The pipeline is not destroyed as it is always destroyed and recreated when the closest orbital object changes.

    Returns void

  • Sets the current celestial body of the post process manager. It should be the closest body to the active camera, in order to split the post processes that are specific to this body from the others. This method will also choose the appropriate rendering order and rebuild the pipeline.

    Parameters

    • body: CelestialBody

      The closest celestial body to the active camera

    Returns void

  • Updates all updatable post processes with the given delta time.

    Parameters

    • deltaTime: number

      The time in seconds since the last frame

    Returns void