Skip to content

Refactoring SkyManager/Atmosphere #2711

@gchoqueux

Description

@gchoqueux

SkyManager shows some architectural weaknesses and it needs to be refactor.

  • Extend SkyManager from LayerGeometry and use LayerGeometry.update instead of scene.onBeforeRender
    ➡️ inherit layer features: events, visibility, freeze, add, delete, update loop
  • Render pass management features in C3DEngine, which will facilitate future developments :
    • allowing users to add their own passes;
    • Eye-Dome-Lighting, depth picking.
  • FXAAEffect could be replace by multi-pass rendering
  • create a new pass for Sky
  • remove this.scene, this.scene.onBeforeRender, this.scene.onAfterRender
    ➡️ use Layer.preUpdate and Layer.postUpdate
  • use Layer.object3d to add all object 3D in SkyManager
  • remove getter and setter enabled, enable() and disable() that are redundant with each other and
    ➡️ use Layer.visible

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions