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::TransformServiceFeatureProcessor Class Referencefinal

This feature processor handles static and dynamic non-skinned meshes. More...

#include <TransformServiceFeatureProcessor.h>

Inherits AZ::Render::TransformServiceFeatureProcessorInterface.

Public Member Functions

 AZ_RTTI (AZ::Render::TransformServiceFeatureProcessor, "{D8A2C353-2850-42F8-AA21-3979CBECBF80}", AZ::Render::TransformServiceFeatureProcessorInterface)
 
void Activate () override
 Creates pools, buffers, and buffer views.
 
void Deactivate () override
 Releases GPU resources.
 
void OnBeginPrepareRender () override
 
void OnEndPrepareRender () override
 
ObjectId ReserveObjectId () override
 Reserves an object ID that can later be sent transform updates.
 
void ReleaseObjectId (ObjectId &id) override
 Releases an object ID to be used by others. The passed in handle is invalidated.
 
void SetTransformForId (ObjectId id, const AZ::Transform &transform, const AZ::Vector3 &nonUniformScale=AZ::Vector3::CreateOne()) override
 Sets the transform (and optionally non-uniform scale) for a given id. Id must be one reserved earlier.
 
AZ::Transform GetTransformForId (ObjectId id) const override
 Gets the transform for a given id. Id must be one reserved earlier.
 
AZ::Vector3 GetNonUniformScaleForId (ObjectId id) const override
 Gets the non-uniform scale for a given id. Id must be one reserved earlier.
 
- Public Member Functions inherited from AZ::Render::TransformServiceFeatureProcessorInterface
 AZ_RTTI (AZ::Render::TransformServiceFeatureProcessorInterface, "{A9099337-AA0F-4F47-8E47-6E7FBA8998D0}", AZ::RPI::FeatureProcessor)
 
virtual ObjectId ReserveObjectId ()=0
 Reserves an object ID that can later be sent transform updates.
 
virtual void ReleaseObjectId (ObjectId &id)=0
 Releases an object ID to be used by others. The passed in handle is invalidated.
 
virtual void SetTransformForId (ObjectId id, const AZ::Transform &transform, const AZ::Vector3 &nonUniformScale=AZ::Vector3::CreateOne())=0
 Sets the transform (and optionally non-uniform scale) for a given id. Id must be one reserved earlier.
 
virtual AZ::Transform GetTransformForId (ObjectId) const =0
 Gets the transform for a given id. Id must be one reserved earlier.
 
virtual AZ::Vector3 GetNonUniformScaleForId (ObjectId id) const =0
 Gets the non-uniform scale for a given id. Id must be one reserved earlier.
 
- 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)
 

Additional Inherited Members

- Public Types inherited from AZ::Render::TransformServiceFeatureProcessorInterface
using ObjectId = RHI::Handle< uint32_t, TransformServiceFeatureProcessorInterface >
 
- Protected Member Functions inherited from AZ::RPI::FeatureProcessor
void EnableSceneNotification ()
 
void DisableSceneNotification ()
 

Detailed Description

This feature processor handles static and dynamic non-skinned meshes.

Member Function Documentation

◆ Activate()

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

Creates pools, buffers, and buffer views.

Reimplemented from AZ::RPI::FeatureProcessor.

◆ Deactivate()

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

Releases GPU resources.

Reimplemented from AZ::RPI::FeatureProcessor.

◆ GetNonUniformScaleForId()

AZ::Vector3 AZ::Render::TransformServiceFeatureProcessor::GetNonUniformScaleForId ( ObjectId  id) const
overridevirtual

Gets the non-uniform scale for a given id. Id must be one reserved earlier.

Implements AZ::Render::TransformServiceFeatureProcessorInterface.

◆ GetTransformForId()

AZ::Transform AZ::Render::TransformServiceFeatureProcessor::GetTransformForId ( ObjectId  ) const
overridevirtual

Gets the transform for a given id. Id must be one reserved earlier.

Implements AZ::Render::TransformServiceFeatureProcessorInterface.

◆ ReleaseObjectId()

void AZ::Render::TransformServiceFeatureProcessor::ReleaseObjectId ( ObjectId id)
overridevirtual

Releases an object ID to be used by others. The passed in handle is invalidated.

Implements AZ::Render::TransformServiceFeatureProcessorInterface.

◆ ReserveObjectId()

ObjectId AZ::Render::TransformServiceFeatureProcessor::ReserveObjectId ( )
overridevirtual

Reserves an object ID that can later be sent transform updates.

Implements AZ::Render::TransformServiceFeatureProcessorInterface.

◆ SetTransformForId()

void AZ::Render::TransformServiceFeatureProcessor::SetTransformForId ( ObjectId  id,
const AZ::Transform &  transform,
const AZ::Vector3 &  nonUniformScale = AZ::Vector3::CreateOne() 
)
overridevirtual

Sets the transform (and optionally non-uniform scale) for a given id. Id must be one reserved earlier.

Implements AZ::Render::TransformServiceFeatureProcessorInterface.


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