Cogs.Core
Public Types | List of all members
Cogs::Core::SystemPriority Struct Reference

Contains system priority enumeration. More...

#include <Engine.h>

Public Types

enum  ESystemPriority : int32_t {
  PreDynamicComponents = -200 , DynamicComponents = -150 , PreTransform = -100 , Transform = 0 ,
  PostTransform = 100 , PreView = 190 , View = 200 , PreLightView = 203 ,
  LightView = 205 , DispatchViewDependent = 208 , PostView = 210 , PreGeometry = 900 ,
  Geometry = 1000 , PostGeometry = 1100 , PreRendering = 9900 , Rendering = 10000
}
 Defines priority values for systems. More...
 

Detailed Description

Contains system priority enumeration.

Definition at line 29 of file Engine.h.

Member Enumeration Documentation

◆ ESystemPriority

Defines priority values for systems.

These values are used to determine the order of systems executed in every stage of the update phase.

Systems can be given arbitrary priority values for sorting, but using these makes it obvious when the given system is intended to run.

As an example, consider something like a view-dependent geometry generation system. This could for example use the PostView priority to make it execute after the camera and view system update.

Systems given the same priority will be updated in the order they were added to the engine.

Enumerator
PreDynamicComponents 

Run before the dynamic components.

DynamicComponents 

Run at the same time as the dynamic components.

PreTransform 

Run before transformations are updated.

Transform 

Run at the time of transformations.

PostTransform 

Run immediately after transformations are updated.

PreView 

Run after transformations, but before view data is updated.

View 

Run at the time view data is updated.

PreLightView 

Run after view, but before the time light views are updated.

LightView 

Run at the time light views are updated.

DispatchViewDependent 

Quickly dispatch view dependent async tasks before serial view dependent tasks.

PostView 

Run after view data has been updated. Anything after this is appropriate for geometry depending on e.g camera position.

PreGeometry 

Run before geometry updates are performed.

Geometry 

Run at the time geometry data is updated.

PostGeometry 

Run after geometry updates are performed, e.g to perform calculations on vertex data.

PreRendering 

Run before rendering is performed.

Rendering 

Run at the time rendering is performed.

Definition at line 43 of file Engine.h.


The documentation for this struct was generated from the following file: