Anatomy of a Scene

About Icarus Forums Icarus Scene Engine General Anatomy of a Scene

This topic contains 0 replies, has 1 voice, and was last updated by  admin 2 years, 1 month ago.

  • Author
  • #372


    A Scene Level is a hierarchical concept in which child objects can be added for rendering. Panels, Groups, Collections, Surfaces, Scenes and Cameras are all types of Levels. Lights are then attached to a specific Level, and render for that Level, relative to the Level’s coordinates.

    A Level is responsible for Rendering, Animation and regular non-physics Collisions.

    The top Level is a Panel, this represents the “Window” or “Device Screen”, and includes the main Viewport. All other Levels and Objects are added to this.

    Each Level has multiple “Trees” inside it which determine what Renders, what Animates, and so on. An object is added (and removed) once, and the Level will internally amend the relevant Tree(s):

    BasicTree: This records down everything that was attached to the Level.

    LevelTree: This records down any child Levels. This is used for Collision

    RenderTree: Anything that can Render is added here as well. Objects are rendered only in the order they are in this tree. However what that order is, is complicated, and will be dealt with in a separate post.

    : Any asset that you wish to associate with the Level is added to this one, and automatically Disposed when the Level is Disposed.

    StepTree: Anything that can Animate is added to this Tree.

    Additional features:

    Effects: An effects list can be added to a Level, so that the Effect then applies generally to all child objects (for example: a projected cloud shadow, a projected texture).

    Lights: All Lights for the Level. Lights will render only to child objects of the Level.

    • This topic was modified 2 years, 1 month ago by  admin.

You must be logged in to reply to this topic.

Comments are closed.