Open 3D Engine Atom Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::RPI::SceneNotification Class Reference

Ebus to receive scene's notifications. More...

#include <SceneBus.h>

Inherits AZ::EBusTraits.

Classes

struct  SceneConnectionPolicy
 Custom connection policy to make sure events are fully in sync. More...
 

Public Types

enum class  RenderPipelineChangeType { Added , PassChanged , Removed }
 
using BusIdType = SceneId
 
template<typename Bus >
using ConnectionPolicy = SceneConnectionPolicy< Bus >
 

Public Member Functions

virtual void OnRenderPipelineAdded (RenderPipelinePtr pipeline)
 
virtual void OnRenderPipelinePassesChanged (RenderPipeline *renderPipeline)
 
virtual void OnRenderPipelineRemoved (RenderPipeline *pipeline)
 
virtual void OnRenderPipelineChanged (RenderPipeline *, RenderPipelineChangeType)
 
virtual void OnRenderPipelinePersistentViewChanged (RenderPipeline *renderPipeline, PipelineViewTag viewTag, ViewPtr newView, ViewPtr previousView)
 
virtual void OnBeginPrepareRender ()
 
virtual void OnEndPrepareRender ()
 Notifies when the PrepareRender phase is ending.
 

Static Public Attributes

static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Multiple
 
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::ById
 

Detailed Description

Ebus to receive scene's notifications.

Member Function Documentation

◆ OnBeginPrepareRender()

virtual void AZ::RPI::SceneNotification::OnBeginPrepareRender ( )
inlinevirtual

Notifies when the PrepareRender phase is beginning This phase is when data is read from the FeatureProcessors and written to the draw lists.

◆ OnRenderPipelineAdded()

virtual void AZ::RPI::SceneNotification::OnRenderPipelineAdded ( RenderPipelinePtr  pipeline)
inlinevirtual

O3DE_DEPRECATION_NOTICE(GHI-12687)

Deprecated:
use OnRenderPipelineChanged(RenderPipeline*, RenderPipelineChangeType::Added) Notifies when a render pipeline is added to this scene.
Parameters
pipelineThe render pipeline which was added

◆ OnRenderPipelineChanged()

virtual void AZ::RPI::SceneNotification::OnRenderPipelineChanged ( RenderPipeline ,
RenderPipelineChangeType   
)
inlinevirtual

Notifies when a render pipeline was added, removed or changed

Parameters
pipelineThe render pipeline which was added

◆ OnRenderPipelinePassesChanged()

virtual void AZ::RPI::SceneNotification::OnRenderPipelinePassesChanged ( RenderPipeline renderPipeline)
inlinevirtual

O3DE_DEPRECATION_NOTICE(GHI-12687)

Deprecated:
use OnRenderPipelineChanged(RenderPipeline*, RenderPipelineChangeType::PassChanged) Notifies when any passes of this render pipeline are modified before a render tick This includes adding a pass, removing a pass, or if pass data changed (such as attachments, draw list tags, etc.) Feature processors may need to use it to update their cached pipeline states
Parameters
pipelineThe render pipeline which was modified

◆ OnRenderPipelinePersistentViewChanged()

virtual void AZ::RPI::SceneNotification::OnRenderPipelinePersistentViewChanged ( RenderPipeline renderPipeline,
PipelineViewTag  viewTag,
ViewPtr  newView,
ViewPtr  previousView 
)
inlinevirtual

Notifies when a persistent view is set/changed (for a particular RenderPipeline + ViewTag)

Parameters
pipelineThe render pipeline which was modified
viewTagThe viewTag in this render pipeline which the new view was set to
newViewThe view which was set to the render pipeline's view tag
previousViewThe previous view associates to render pipeline's view tag before the new view was set

◆ OnRenderPipelineRemoved()

virtual void AZ::RPI::SceneNotification::OnRenderPipelineRemoved ( RenderPipeline pipeline)
inlinevirtual

O3DE_DEPRECATION_NOTICE(GHI-12687)

Deprecated:
use OnRenderPipelineChanged(RenderPipeline*, RenderPipelineChangeType::Removed) Notifies when a render pipeline is removed from this scene.
Parameters
pipelineThe render pipeline which was removed

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