Open 3D Engine Atom Gem API Reference  2205.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
AZ::RPI::SceneNotification Class Reference

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

#include <SceneBus.h>

Inherits EBusTraits.

Classes

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

Public Types

using BusIdType = SceneId
 
template<typename Bus >
using ConnectionPolicy = SceneConnectionPolicy< Bus >
 

Public Member Functions

virtual void OnRenderPipelineAdded (RenderPipelinePtr pipeline)
 
virtual void OnRenderPipelineRemoved ([[maybe_unused]] RenderPipeline *pipeline)
 
virtual void OnRenderPipelinePersistentViewChanged ([[maybe_unused]] RenderPipeline *renderPipeline, PipelineViewTag viewTag, ViewPtr newView, ViewPtr previousView)
 
virtual void OnRenderPipelinePassesChanged ([[maybe_unused]] RenderPipeline *renderPipeline)
 
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

Notifies when a render pipeline is added to this scene.

Parameters
pipelineThe render pipeline which was added

◆ OnRenderPipelinePassesChanged()

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

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 ( [[maybe_unused] ] 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 ( [[maybe_unused] ] RenderPipeline pipeline)
inlinevirtual

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: