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::Render::AuxGeomFeatureProcessor Class Referencefinal

#include <AuxGeomFeatureProcessor.h>

Inherits AZ::RPI::AuxGeomFeatureProcessorInterface.

Public Member Functions

 AZ_RTTI (AZ::Render::AuxGeomFeatureProcessor, "{75E17417-C8E3-4B64-8469-7662D1E0904A}", AZ::RPI::AuxGeomFeatureProcessorInterface)
 
 AZ_FEATURE_PROCESSOR (AuxGeomFeatureProcessor)
 
void Activate () override
 Perform any necessary activation and gives access to owning Scene.
 
void Deactivate () override
 Perform any necessary deactivation.
 
void Render (const FeatureProcessor::RenderPacket &fpPacket) override
 
void OnRenderEnd () override
 
RPI::AuxGeomDrawPtr GetDrawQueue () override
 
RPI::AuxGeomDrawPtr GetDrawQueueForView (const RPI::View *view) override
 
RPI::AuxGeomDrawPtr GetOrCreateDrawQueueForView (const RPI::View *view) override
 Get existing or create a new AuxGeomDrawQueue object to store AuxGeom requests for this view.
 
void ReleaseDrawQueueForView (const RPI::View *view) override
 Feature processor releases the AuxGeomDrawQueue for the supplied view. DrawQueue is deleted when references fall to zero.
 
void OnRenderPipelineChanged (AZ::RPI::RenderPipeline *pipeline, RPI::SceneNotification::RenderPipelineChangeType changeType) override
 
- Public Member Functions inherited from AZ::RPI::AuxGeomFeatureProcessorInterface
 AZ_RTTI (AZ::RPI::AuxGeomFeatureProcessorInterface, "{2750EE44-5AE6-4379-BA3B-EDCD1507C997}", AZ::RPI::FeatureProcessor)
 
 AZ_DISABLE_COPY_MOVE (AuxGeomFeatureProcessorInterface)
 
virtual AuxGeomDrawPtr GetDrawQueue ()=0
 
virtual AuxGeomDrawPtr GetDrawQueueForView (const View *view)=0
 
virtual AuxGeomDrawPtr GetOrCreateDrawQueueForView (const View *view)=0
 Get existing or create a new AuxGeomDrawQueue object to store AuxGeom requests for this view.
 
virtual void ReleaseDrawQueueForView (const View *view)=0
 Feature processor releases the AuxGeomDrawQueue for the supplied view. DrawQueue is deleted when references fall to zero.
 
- Public Member Functions inherited from AZ::RPI::FeatureProcessor
 AZ_RTTI (FeatureProcessor, "{B8027170-C65C-4237-964D-B557FC9D7575}")
 
 AZ_CLASS_ALLOCATOR (FeatureProcessor, AZ::SystemAllocator)
 
SceneGetParentScene () const
 
virtual void Activate ()
 Perform any necessary activation and gives access to owning Scene.
 
virtual void Deactivate ()
 Perform any necessary deactivation.
 
virtual void ApplyRenderPipelineChange (RenderPipeline *pipeline)
 
virtual void AddRenderPasses (RenderPipeline *pipeline)
 
virtual void PrepareViews (const PrepareViewsPacket &, AZStd::vector< AZStd::pair< PipelineViewTag, ViewPtr > > &)
 
virtual void Simulate (const SimulatePacket &)
 
virtual void Render (const RenderPacket &)
 
virtual void OnEndCulling (const RenderPacket &)
 
virtual void OnRenderEnd ()
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 
- Static Public Member Functions inherited from AZ::RPI::AuxGeomFeatureProcessorInterface
static AuxGeomDrawPtr GetDrawQueueForScene (const ScenePtr scenePtr)
 
static AuxGeomDrawPtr GetDrawQueueForScene (const Scene *scene)
 

Additional Inherited Members

- Protected Member Functions inherited from AZ::RPI::FeatureProcessor
void EnableSceneNotification ()
 
void DisableSceneNotification ()
 

Detailed Description

FeatureProcessor for Auxiliary Geometry

Member Function Documentation

◆ Activate()

void AZ::Render::AuxGeomFeatureProcessor::Activate ( )
overridevirtual

Perform any necessary activation and gives access to owning Scene.

Reimplemented from AZ::RPI::FeatureProcessor.

◆ Deactivate()

void AZ::Render::AuxGeomFeatureProcessor::Deactivate ( )
overridevirtual

Perform any necessary deactivation.

Reimplemented from AZ::RPI::FeatureProcessor.

◆ GetDrawQueue()

RPI::AuxGeomDrawPtr AZ::Render::AuxGeomFeatureProcessor::GetDrawQueue ( )
inlineoverridevirtual

Get an AuxGeomDraw interface for drawing AuxGeom in the scene the FP is attached to. There is an inline static shortcut GetDrawQueueForScene above that avoids having to do the two steps of first getting the AuxGeomFeatureProcessorInterface pointer and then calling this function.

Implements AZ::RPI::AuxGeomFeatureProcessorInterface.

◆ GetDrawQueueForView()

RPI::AuxGeomDrawPtr AZ::Render::AuxGeomFeatureProcessor::GetDrawQueueForView ( const RPI::View view)
overridevirtual

Get the draw interface for drawing AuxGeom in immediate mode for the given view. Per view draw interfaces support 2d drawing.

Implements AZ::RPI::AuxGeomFeatureProcessorInterface.

◆ GetOrCreateDrawQueueForView()

RPI::AuxGeomDrawPtr AZ::Render::AuxGeomFeatureProcessor::GetOrCreateDrawQueueForView ( const RPI::View view)
overridevirtual

Get existing or create a new AuxGeomDrawQueue object to store AuxGeom requests for this view.

Implements AZ::RPI::AuxGeomFeatureProcessorInterface.

◆ OnRenderEnd()

void AZ::Render::AuxGeomFeatureProcessor::OnRenderEnd ( )
overridevirtual

The feature processor may do clean up when the current render frame is finished

  • This is called every RPI::RenderTick.

Reimplemented from AZ::RPI::FeatureProcessor.

◆ ReleaseDrawQueueForView()

void AZ::Render::AuxGeomFeatureProcessor::ReleaseDrawQueueForView ( const RPI::View view)
overridevirtual

Feature processor releases the AuxGeomDrawQueue for the supplied view. DrawQueue is deleted when references fall to zero.

Implements AZ::RPI::AuxGeomFeatureProcessorInterface.


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