Open 3D Engine Atom Gem API Reference
24.09
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
|
#include <DecalFeatureProcessorInterface.h>
Inherits AZ::RPI::FeatureProcessor.
Inherited by AZ::Render::DecalTextureArrayFeatureProcessor.
Public Types | |
using | DecalHandle = RHI::Handle< uint16_t, class Decal > |
Public Member Functions | |
AZ_RTTI (AZ::Render::DecalFeatureProcessorInterface, "{4A64E427-7F9F-4AF7-B414-69EA91323827}", AZ::RPI::FeatureProcessor) | |
virtual DecalHandle | AcquireDecal ()=0 |
Creates a new decal which can be referenced by the returned DecalHandle. Must be released via ReleaseDecal() when no longer needed. | |
virtual bool | ReleaseDecal (DecalHandle handle)=0 |
Releases a Decal. | |
virtual DecalHandle | CloneDecal (DecalHandle handle)=0 |
Creates a new Decal by copying data from an existing DecalHandle. | |
virtual void | SetDecalData (DecalHandle handle, const DecalData &data)=0 |
Sets all of the the decal data for the provided DecalHandle. | |
virtual void | SetDecalPosition (DecalHandle handle, const AZ::Vector3 &position)=0 |
Sets the position of the decal. | |
virtual void | SetDecalColor (DecalHandle handle, const AZ::Vector3 &color)=0 |
Sets the color of the decal. | |
virtual void | SetDecalColorFactor (DecalHandle handle, float colorFactor)=0 |
Sets the color factor of the decal. | |
virtual void | SetDecalOrientation (DecalHandle handle, const AZ::Quaternion &orientation)=0 |
Sets the orientation of the decal. | |
virtual void | SetDecalHalfSize (DecalHandle handle, const Vector3 &halfSize)=0 |
Sets the half size of the decal. | |
virtual void | SetDecalAttenuationAngle (DecalHandle handle, float angleAttenuation)=0 |
Sets the angle attenuation of the decal. Increasing this increases the transparency as the angle between the decal and geometry gets larger. | |
virtual void | SetDecalOpacity (DecalHandle handle, float opacity)=0 |
Sets the opacity of the decal. | |
virtual void | SetDecalNormalMapOpacity (DecalHandle handle, float opacity)=0 |
Sets the opacity of the decal normal map. | |
virtual void | SetDecalMaterial (DecalHandle handle, const AZ::Data::AssetId)=0 |
Sets the material information for this decal. | |
virtual void | SetDecalSortKey (DecalHandle handle, uint8_t sortKey)=0 |
Sets the sort key for the decal. Decals with a larger sort key appear over top of smaller sort keys. | |
virtual const Data::Instance< RPI::Buffer > | GetDecalBuffer () const =0 |
Returns a GPU readable buffer containing the contiguous array of decals. | |
virtual uint32_t | GetDecalCount () const =0 |
Returns the number of decals currently in the buffer. | |
virtual void | SetDecalTransform (DecalHandle handle, const AZ::Transform &world)=0 |
virtual void | SetDecalTransform (DecalHandle handle, const AZ::Transform &world, const AZ::Vector3 &nonUniformScale)=0 |
Public Member Functions inherited from AZ::RPI::FeatureProcessor | |
AZ_RTTI (FeatureProcessor, "{B8027170-C65C-4237-964D-B557FC9D7575}") | |
AZ_CLASS_ALLOCATOR (FeatureProcessor, AZ::SystemAllocator) | |
Scene * | GetParentScene () const |
virtual void | Activate () |
Perform any necessary activation and gives access to owning Scene. | |
virtual void | Deactivate () |
Perform any necessary deactivation. | |
virtual void | ApplyRenderPipelineChange ([[maybe_unused]] RenderPipeline *pipeline) |
virtual void | AddRenderPasses ([[maybe_unused]] 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 () |
DecalFeatureProcessorInterface provides an interface to acquire, release, and update a decal. This is necessary for code outside of the Atom features gem to communicate with the DecalTextureArrayFeatureProcessor.
|
pure virtual |
Sets the transform of the decal Equivalent to calling SetDecalPosition() + SetDecalOrientation() + SetDecalHalfSize()
Implemented in AZ::Render::DecalTextureArrayFeatureProcessor.