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

This feature processor manages Deferred DrawPackages for a Scene. More...

#include <DeferredMaterialFeatureProcessorInterface.h>

Inherits AZ::RPI::FeatureProcessor.

Inherited by AZ::Render::DeferredMaterialFeatureProcessor.

Public Types

using ModelId = AZ::Uuid
 

Public Member Functions

 AZ_RTTI (AZ::Render::DeferredMaterialFeatureProcessorInterface, "{27B1C9E5-99D9-4DEC-AE66-5F0131B20BE3}", RPI::FeatureProcessor)
 
virtual void AddModel (const ModelId &uuid, ModelDataInstanceInterface *meshHandle, const Data::Instance< RPI::Model > &model)=0
 Create a deferred draw-item for the referenced material types, if they don't exist yet.
 
virtual void RemoveModel (const ModelId &uuid)=0
 Removes a mesh and potentially the draw-item for the material type.
 
virtual AZ::Data::Instance< AZ::RPI::BufferGetDrawPacketIdBuffer (const RHI::DrawListTag &drawListTag)=0
 
virtual bool IsEnabled ()=0
 
- 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 ()
 

Additional Inherited Members

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

Detailed Description

This feature processor manages Deferred DrawPackages for a Scene.

Member Function Documentation

◆ AddModel()

virtual void AZ::Render::DeferredMaterialFeatureProcessorInterface::AddModel ( const ModelId &  uuid,
ModelDataInstanceInterface meshHandle,
const Data::Instance< RPI::Model > &  model 
)
pure virtual

Create a deferred draw-item for the referenced material types, if they don't exist yet.

Implemented in AZ::Render::DeferredMaterialFeatureProcessor.

◆ GetDrawPacketIdBuffer()

virtual AZ::Data::Instance< AZ::RPI::Buffer > AZ::Render::DeferredMaterialFeatureProcessorInterface::GetDrawPacketIdBuffer ( const RHI::DrawListTag drawListTag)
pure virtual

A buffer with the DrawPacketId for the given deferred DrawListTag. This buffer contains one entry for every mesh in the scene, with the id of the deferred fullscreen-DrawItem that is responsible for that mesh. The buffer is kept in sync with the MeshInfoBuffer, and can be indexed using the meshInfoIndex.

Implemented in AZ::Render::DeferredMaterialFeatureProcessor.

◆ IsEnabled()

virtual bool AZ::Render::DeferredMaterialFeatureProcessorInterface::IsEnabled ( )
pure virtual

◆ RemoveModel()

virtual void AZ::Render::DeferredMaterialFeatureProcessorInterface::RemoveModel ( const ModelId &  uuid)
pure virtual

Removes a mesh and potentially the draw-item for the material type.

Implemented in AZ::Render::DeferredMaterialFeatureProcessor.


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