Command Lists
Command Lists are deferred commands to execute on the renderer on certain rendering stage, this replaces the previous RenderHook system
Command Lists are deferred commands to execute on the renderer on certain rendering stage, this replaces the previous RenderHook system
public enum Stage
{
AfterDepthPrepass = 1000,
AfterOpaque = 2000,
AfterSkybox = 3000,
AfterTransparent = 4000,
AfterViewmodel = 5000,
BeforePostProcess = 6000,
Tonemapping = 6500,
AfterPostProcess = 7000,
AfterUI = 8000,
}
You can attach a Command List to a Camera, each command that you add to the command list will be executed in sequence, and will execute for any camera that depends on it ( Editor Viewport will inherit from main camera, etc )
protected override void OnEnabled()
{
commands = new Rendering.CommandList( "AmbientOcclusion" );
// Build your commands here eg
commands.Set("Foo", 1.0f );
Camera.AddCommandList( commands, Rendering.Stage.AfterDepthPrepass );
}
And to remove it
protected override void OnDisabled()
{
Camera.RemoveCommandList( commands );
commands = null;
}
See Attributes and Variables for an example of using a Command List