Open 3D Engine Atom Gem API Reference 25.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::DecalTextureArrayFeatureProcessor Class Referencefinal

Inherits AZ::Render::DecalFeatureProcessorInterface, and AZ::Data::AssetBus::MultiHandler.

Public Member Functions

 AZ_RTTI (AZ::Render::DecalTextureArrayFeatureProcessor, "{5E8365FA-BEA7-4D02-9A5C-67E6810D5465}", AZ::Render::DecalFeatureProcessorInterface)
 
 DecalTextureArrayFeatureProcessor (const DecalTextureArrayFeatureProcessor &)=delete
 
DecalTextureArrayFeatureProcessoroperator= (const DecalTextureArrayFeatureProcessor &)=delete
 
void Activate () override
 Perform any necessary activation and gives access to owning Scene.
 
void Deactivate () override
 Perform any necessary deactivation.
 
void Simulate (const RPI::FeatureProcessor::SimulatePacket &packet) override
 
void Render (const RPI::FeatureProcessor::RenderPacket &packet) override
 
DecalHandle AcquireDecal () override
 Creates a new decal which can be referenced by the returned DecalHandle. Must be released via ReleaseDecal() when no longer needed.
 
bool ReleaseDecal (const DecalHandle handle) override
 Releases a Decal.
 
DecalHandle CloneDecal (const DecalHandle handle) override
 Creates a new Decal by copying data from an existing DecalHandle.
 
void SetDecalData (const DecalHandle handle, const DecalData &data) override
 Sets all of the the decal data for the provided DecalHandle.
 
const Data::Instance< RPI::BufferGetDecalBuffer () const override
 Returns a GPU readable buffer containing the contiguous array of decals.
 
uint32_t GetDecalCount () const override
 Returns the number of decals currently in the buffer.
 
void SetDecalPosition (const DecalHandle handle, const AZ::Vector3 &position) override
 Sets the position of the decal.
 
void SetDecalColor (const DecalHandle handle, const AZ::Vector3 &color) override
 Sets the color of the decal.
 
void SetDecalColorFactor (const DecalHandle handle, float colorFactor) override
 Sets the factor for the decal color.
 
void SetDecalOrientation (const DecalHandle handle, const AZ::Quaternion &orientation) override
 Sets the orientation of the decal.
 
void SetDecalHalfSize (const DecalHandle handle, const Vector3 &size) override
 Sets the half size of the decal.
 
void SetDecalAttenuationAngle (const DecalHandle handle, float angleAttenuation) override
 Sets the angle attenuation of the decal. Increasing this increases the transparency as the angle between the decal and geometry gets larger.
 
void SetDecalOpacity (const DecalHandle handle, float opacity) override
 Sets the opacity of the decal.
 
void SetDecalNormalMapOpacity (const DecalHandle handle, float opacity) override
 Sets the opacity of the normal map of the decal.
 
void SetDecalSortKey (const DecalHandle handle, uint8_t sortKey) override
 Sets the decal sort key. Decals with a larger sort key appear over top of smaller sort keys.
 
void SetDecalMaterial (const DecalHandle handle, const AZ::Data::AssetId id) override
 Sets the material information for this decal.
 
void OnRenderPipelinePersistentViewChanged (RPI::RenderPipeline *renderPipeline, RPI::PipelineViewTag viewTag, RPI::ViewPtr newView, RPI::ViewPtr previousView) override
 
void SetDecalTransform (const DecalHandle handle, const AZ::Transform &world) override
 
void SetDecalTransform (const DecalHandle handle, const AZ::Transform &world, const AZ::Vector3 &nonUniformScale) override
 
- Public Member Functions inherited from AZ::Render::DecalFeatureProcessorInterface
 AZ_RTTI (AZ::Render::DecalFeatureProcessorInterface, "{4A64E427-7F9F-4AF7-B414-69EA91323827}", AZ::RPI::FeatureProcessor)
 
- 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 ApplyRenderPipelineChange (RenderPipeline *pipeline)
 
virtual void AddRenderPasses (RenderPipeline *pipeline)
 
virtual void PrepareViews (const PrepareViewsPacket &, AZStd::vector< AZStd::pair< PipelineViewTag, ViewPtr > > &)
 
virtual void OnEndCulling (const RenderPacket &)
 
virtual void OnRenderEnd ()
 

Static Public Member Functions

static void Reflect (AZ::ReflectContext *context)
 

Additional Inherited Members

- Public Types inherited from AZ::Render::DecalFeatureProcessorInterface
using DecalHandle = RHI::Handle< uint16_t, class Decal >
 
- Protected Member Functions inherited from AZ::RPI::FeatureProcessor
void EnableSceneNotification ()
 
void DisableSceneNotification ()
 

Member Function Documentation

◆ AcquireDecal()

DecalHandle AZ::Render::DecalTextureArrayFeatureProcessor::AcquireDecal ( )
overridevirtual

Creates a new decal which can be referenced by the returned DecalHandle. Must be released via ReleaseDecal() when no longer needed.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ Activate()

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

Perform any necessary activation and gives access to owning Scene.

Reimplemented from AZ::RPI::FeatureProcessor.

◆ CloneDecal()

DecalHandle AZ::Render::DecalTextureArrayFeatureProcessor::CloneDecal ( const DecalHandle  handle)
overridevirtual

Creates a new Decal by copying data from an existing DecalHandle.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ Deactivate()

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

Perform any necessary deactivation.

Reimplemented from AZ::RPI::FeatureProcessor.

◆ GetDecalBuffer()

const Data::Instance< RPI::Buffer > AZ::Render::DecalTextureArrayFeatureProcessor::GetDecalBuffer ( ) const
overridevirtual

Returns a GPU readable buffer containing the contiguous array of decals.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ GetDecalCount()

uint32_t AZ::Render::DecalTextureArrayFeatureProcessor::GetDecalCount ( ) const
overridevirtual

Returns the number of decals currently in the buffer.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ ReleaseDecal()

bool AZ::Render::DecalTextureArrayFeatureProcessor::ReleaseDecal ( const DecalHandle  handle)
overridevirtual

Releases a Decal.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ Render()

void AZ::Render::DecalTextureArrayFeatureProcessor::Render ( const RPI::FeatureProcessor::RenderPacket )
overridevirtual

The feature processor should enqueue draw packets to relevant draw lists.

  • This is called every frame.
  • This may be called in parallel with other feature processors.
  • This may be called in parallel with culling

Reimplemented from AZ::RPI::FeatureProcessor.

◆ SetDecalAttenuationAngle()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalAttenuationAngle ( const DecalHandle  handle,
float  angleAttenuation 
)
overridevirtual

Sets the angle attenuation of the decal. Increasing this increases the transparency as the angle between the decal and geometry gets larger.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalColor()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalColor ( const DecalHandle  handle,
const AZ::Vector3 &  color 
)
overridevirtual

Sets the color of the decal.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalColorFactor()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalColorFactor ( const DecalHandle  handle,
float  colorFactor 
)
overridevirtual

Sets the factor for the decal color.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalData()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalData ( const DecalHandle  handle,
const DecalData data 
)
overridevirtual

Sets all of the the decal data for the provided DecalHandle.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalHalfSize()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalHalfSize ( const DecalHandle  handle,
const Vector3 &  size 
)
overridevirtual

Sets the half size of the decal.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalMaterial()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalMaterial ( const DecalHandle  handle,
const AZ::Data::AssetId  id 
)
overridevirtual

Sets the material information for this decal.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalNormalMapOpacity()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalNormalMapOpacity ( const DecalHandle  handle,
float  opacity 
)
overridevirtual

Sets the opacity of the normal map of the decal.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalOpacity()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalOpacity ( const DecalHandle  handle,
float  opacity 
)
overridevirtual

Sets the opacity of the decal.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalOrientation()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalOrientation ( const DecalHandle  handle,
const AZ::Quaternion &  orientation 
)
overridevirtual

Sets the orientation of the decal.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalPosition()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalPosition ( const DecalHandle  handle,
const AZ::Vector3 &  position 
)
overridevirtual

Sets the position of the decal.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalSortKey()

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalSortKey ( const DecalHandle  handle,
uint8_t  sortKey 
)
overridevirtual

Sets the decal sort key. Decals with a larger sort key appear over top of smaller sort keys.

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalTransform() [1/2]

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalTransform ( const DecalHandle  handle,
const AZ::Transform &  world 
)
overridevirtual

Sets the transform of the decal Equivalent to calling SetDecalPosition() + SetDecalOrientation() + SetDecalHalfSize()

Implements AZ::Render::DecalFeatureProcessorInterface.

◆ SetDecalTransform() [2/2]

void AZ::Render::DecalTextureArrayFeatureProcessor::SetDecalTransform ( const DecalHandle  handle,
const AZ::Transform &  world,
const AZ::Vector3 &  nonUniformScale 
)
overridevirtual

◆ Simulate()

void AZ::Render::DecalTextureArrayFeatureProcessor::Simulate ( const RPI::FeatureProcessor::SimulatePacket )
overridevirtual

The feature processor should perform any internal simulation at this point - For instance, updating a particle system or animation. Not every feature processor will need to implement this.

  • This may not be called every frame.
  • This may be called in parallel with other feature processors.

Reimplemented from AZ::RPI::FeatureProcessor.


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