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,
	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






Created 8 Dec 2024
Updated 11 Dec 2024