Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)

Enlighten SDK 3.10 Documentation
Results will update as you type.
  • Welcome to Enlighten
  • How Enlighten works
  • Artist workflow
  • Install Enlighten
  • Libraries
  • Implementation guide
    • The Enlighten scene
      • The scene root
      • Mesh objects
      • Geometry objects
      • Instance objects
      • Enlighten systems
      • Enlighten probes
      • Enlighten cubemaps
      • Radiosity dependencies
      • Example scene
    • The precompute process
    • The lightmap UV pipeline
    • Enlighten runtime data
    • Runtime radiosity updates
    • Sample implementation
  • Technical reference
  • Advanced techniques
  • Tools
  • Enlighten Mobile
  • White papers
  • Third-party licences
  • Release notes
    Calendars

You‘re viewing this with anonymous access, so some content might be blocked.
/
Enlighten systems

    This is the documentation for Enlighten.

    Enlighten systems

    Nov 21, 2019


    Enlighten instances that you choose to include in the radiosity computation are automatically grouped into radiosity systems.

    Each radiosity system is a collection of nearby instances that can be processed more efficiently as a unit:

    • The computations for a given system can be limited to a sub-set of the other systems in the scene.
    • The Enlighten precompute processes many systems in parallel.
    • The Enlighten runtime data for each system is stored and loaded as a single chunk.
    • In the Enlighten runtime, the lighting for a system is computed as a single asynchronous task. Updates for nearby systems can be prioritized to reduce latency.

    To maximize efficiency instances should be grouped into systems such that:

    • each system includes many instances as possible, while...
    • the instances within the same system form a tightly bounded group, and
    • the precompute produces a similar number of clusters for each system

    Automatic system groups

    In most cases, Enlighten can automatically group instances into systems efficiently. In some cases you may want to provide explicit system groups.

    We recommend to use automatic system groups to provide an automated workflow for the artist.

    In a scene that is constantly changing in production, it would otherwise be very difficult and time-consuming to maintain the system grouping by manually tagging instances.

    Explicit system groups

    You may want to provide explicit system groups to implement a custom grouping method for a specific use-case, such as terrain instances arranged in a grid.

    To keep your implementation simple, we recommend to avoid explicit system groups unless you absolutely need to.

    To explicitly group an instance into the same system as another instance, set the systemId attribute of both instances to the same name. Instances can be grouped only with other instances sharing the same type and paramSet.

    Problem scenarios

    In some scenarios, it is not possible to group instances into systems efficiently. This can cause the precompute and the runtime updates to take much longer than expected.

    Instances with different radiosity properties such as lighting type and cluster size cannot be grouped into the same system. When each instance has slightly different radiosity properties, too many systems are created. To avoid this, minimize the number of indirect lighting resolution combinations that can be used with each instance. An effective way to do this is to provide a choice of high, medium and low indirect lighting resolution to the artist, which each correspond to a single parameter set.

    If your world contains a single instance with very large bounds, the system containing it will be very large. To avoid this, ensure that such very large instances are split into smaller chunks.






    , multiple selections available,
    {"serverDuration": 22, "requestCorrelationId": "a2eafa0ca5d94abeb234de97165e7bb2"}