|
| AZ_RTTI (AZ::Render::MeshFeatureProcessor, "{6E3DFA1D-22C7-4738-A3AE-1E10AB88B29B}", AZ::Render::MeshFeatureProcessorInterface) |
|
| AZ_CONSOLEFUNC (MeshFeatureProcessor, ReportShaderOptionFlags, AZ::ConsoleFunctorFlags::Null, "Report currently used shader option flags.") |
|
void | Activate () override |
| Creates pools, buffers, and buffer views.
|
|
void | Deactivate () override |
| Releases GPU resources.
|
|
void | Simulate (const FeatureProcessor::SimulatePacket &packet) override |
| Updates GPU buffers with latest data from render proxies.
|
|
void | OnEndCulling (const RenderPacket &packet) override |
| Updates ViewSrgs with per-view instance data for visible instances.
|
|
void | OnBeginPrepareRender () override |
|
void | OnEndPrepareRender () override |
|
TransformServiceFeatureProcessorInterface::ObjectId | GetObjectId (const MeshHandle &meshHandle) const override |
| Returns the object id for a mesh handle.
|
|
MeshHandle | AcquireMesh (const MeshHandleDescriptor &descriptor, const CustomMaterialMap &materials={}) override |
|
MeshHandle | AcquireMesh (const MeshHandleDescriptor &descriptor, const Data::Instance< RPI::Material > &material) override |
| Acquires a model with a single material applied to all its meshes.
|
|
bool | ReleaseMesh (MeshHandle &meshHandle) override |
| Releases the mesh handle.
|
|
MeshHandle | CloneMesh (const MeshHandle &meshHandle) override |
| Creates a new instance and handle of a mesh using an existing MeshId. Currently, this will reset the new mesh to default materials.
|
|
Data::Instance< RPI::Model > | GetModel (const MeshHandle &meshHandle) const override |
| Gets the underlying RPI::Model instance for a meshHandle. May be null if the model has not loaded.
|
|
Data::Asset< RPI::ModelAsset > | GetModelAsset (const MeshHandle &meshHandle) const override |
| Gets the underlying RPI::ModelAsset for a meshHandle.
|
|
const RPI::MeshDrawPacketLods & | GetDrawPackets (const MeshHandle &meshHandle) const override |
|
const AZStd::vector< Data::Instance< RPI::ShaderResourceGroup > > & | GetObjectSrgs (const MeshHandle &meshHandle) const override |
|
void | QueueObjectSrgForCompile (const MeshHandle &meshHandle) const override |
| Queues the object srg for compile.
|
|
void | SetCustomMaterials (const MeshHandle &meshHandle, const Data::Instance< RPI::Material > &material) override |
|
void | SetCustomMaterials (const MeshHandle &meshHandle, const CustomMaterialMap &materials) override |
| Sets the CustomMaterialMap for a meshHandle.
|
|
const CustomMaterialMap & | GetCustomMaterials (const MeshHandle &meshHandle) const override |
| Gets the CustomMaterialMap for a meshHandle.
|
|
void | ConnectModelChangeEventHandler (const MeshHandle &meshHandle, ModelChangedEvent::Handler &handler) override |
| Connects a handler to any changes to an RPI::Model. Changes include loading and reloading.
|
|
void | ConnectObjectSrgCreatedEventHandler (const MeshHandle &meshHandle, ObjectSrgCreatedEvent::Handler &handler) override |
| Connects a handler to ObjectSrg creation.
|
|
void | SetTransform (const MeshHandle &meshHandle, const AZ::Transform &transform, const AZ::Vector3 &nonUniformScale=AZ::Vector3::CreateOne()) override |
|
Transform | GetTransform (const MeshHandle &meshHandle) override |
| Gets the transform for a given mesh handle.
|
|
Vector3 | GetNonUniformScale (const MeshHandle &meshHandle) override |
| Gets the non-uniform scale for a given mesh handle.
|
|
void | SetLocalAabb (const MeshHandle &meshHandle, const AZ::Aabb &localAabb) override |
| Sets the local space bbox for a given mesh handle. You don't need to call this for static models, only skinned/animated models.
|
|
AZ::Aabb | GetLocalAabb (const MeshHandle &meshHandle) const override |
| Gets the local space bbox for a given mesh handle. Unless SetLocalAabb has been called before, this will be the bbox of the model asset.
|
|
void | SetSortKey (const MeshHandle &meshHandle, RHI::DrawItemSortKey sortKey) override |
| Sets the sort key for a given mesh handle.
|
|
RHI::DrawItemSortKey | GetSortKey (const MeshHandle &meshHandle) const override |
| Gets the sort key for a given mesh handle.
|
|
void | SetMeshLodConfiguration (const MeshHandle &meshHandle, const RPI::Cullable::LodConfiguration &meshLodConfig) override |
| Sets LOD mesh configurations to be used in the Mesh Feature Processor.
|
|
RPI::Cullable::LodConfiguration | GetMeshLodConfiguration (const MeshHandle &meshHandle) const override |
| Gets the LOD mesh configurations being used in the Mesh Feature Processor.
|
|
void | SetExcludeFromReflectionCubeMaps (const MeshHandle &meshHandle, bool excludeFromReflectionCubeMaps) override |
| Sets the option to exclude this mesh from baked reflection probe cubemaps.
|
|
bool | GetExcludeFromReflectionCubeMaps (const MeshHandle &meshHandle) const override |
| Gets the if this mesh is excluded from baked reflection probe cubemaps.
|
|
void | SetIsAlwaysDynamic (const MeshHandle &meshHandle, bool isAlwaysDynamic) override |
| Sets a mesh to be considered to be always moving even if the transform hasn't changed. This is useful for meshes that are skinned or have vertex animation.
|
|
bool | GetIsAlwaysDynamic (const MeshHandle &meshHandle) const override |
| Gets if a mesh is considered to always be moving.
|
|
void | SetRayTracingEnabled (const MeshHandle &meshHandle, bool rayTracingEnabled) override |
| Sets the option to exclude this mesh from raytracing.
|
|
bool | GetRayTracingEnabled (const MeshHandle &meshHandle) const override |
| Gets whether this mesh is excluded from raytracing.
|
|
void | SetVisible (const MeshHandle &meshHandle, bool visible) override |
| Sets the mesh as visible or hidden. When the mesh is hidden it will not be rendered by the feature processor.
|
|
bool | GetVisible (const MeshHandle &meshHandle) const override |
|
void | SetUseForwardPassIblSpecular (const MeshHandle &meshHandle, bool useForwardPassIblSpecular) override |
| Sets the mesh to render IBL specular in the forward pass.
|
|
void | SetRayTracingDirty (const MeshHandle &meshHandle) override |
| Set a flag that the ray tracing data needs to be updated, usually after material changes.
|
|
RHI::Ptr< FlagRegistry > | GetShaderOptionFlagRegistry () |
|
void | UpdateMeshReflectionProbes () |
|
void | ReportShaderOptionFlags (const AZ::ConsoleCommandContainer &arguments) |
|
RayTracingFeatureProcessor * | GetRayTracingFeatureProcessor () const |
|
ReflectionProbeFeatureProcessor * | GetReflectionProbeFeatureProcessor () const |
|
TransformServiceFeatureProcessor * | GetTransformServiceFeatureProcessor () const |
|
RHI::DrawListTag | GetTransparentDrawListTag () const |
|
MeshInstanceManager & | GetMeshInstanceManager () |
|
bool | IsMeshInstancingEnabled () const |
|
| AZ_RTTI (AZ::Render::MeshFeatureProcessorInterface, "{975D7F0C-2E7E-4819-94D0-D3C4E2024721}", AZ::RPI::FeatureProcessor) |
|
virtual TransformServiceFeatureProcessorInterface::ObjectId | GetObjectId (const MeshHandle &meshHandle) const =0 |
| Returns the object id for a mesh handle.
|
|
virtual MeshHandle | AcquireMesh (const MeshHandleDescriptor &descriptor, const CustomMaterialMap &materials={})=0 |
|
virtual MeshHandle | AcquireMesh (const MeshHandleDescriptor &descriptor, const Data::Instance< RPI::Material > &material)=0 |
| Acquires a model with a single material applied to all its meshes.
|
|
virtual bool | ReleaseMesh (MeshHandle &meshHandle)=0 |
| Releases the mesh handle.
|
|
virtual MeshHandle | CloneMesh (const MeshHandle &meshHandle)=0 |
| Creates a new instance and handle of a mesh using an existing MeshId. Currently, this will reset the new mesh to default materials.
|
|
virtual Data::Instance< RPI::Model > | GetModel (const MeshHandle &meshHandle) const =0 |
| Gets the underlying RPI::Model instance for a meshHandle. May be null if the model has not loaded.
|
|
virtual Data::Asset< RPI::ModelAsset > | GetModelAsset (const MeshHandle &meshHandle) const =0 |
| Gets the underlying RPI::ModelAsset for a meshHandle.
|
|
virtual const RPI::MeshDrawPacketLods & | GetDrawPackets (const MeshHandle &meshHandle) const =0 |
|
virtual const AZStd::vector< Data::Instance< RPI::ShaderResourceGroup > > & | GetObjectSrgs (const MeshHandle &meshHandle) const =0 |
|
virtual void | QueueObjectSrgForCompile (const MeshHandle &meshHandle) const =0 |
| Queues the object srg for compile.
|
|
virtual void | SetCustomMaterials (const MeshHandle &meshHandle, const Data::Instance< RPI::Material > &material)=0 |
|
virtual void | SetCustomMaterials (const MeshHandle &meshHandle, const CustomMaterialMap &materials)=0 |
| Sets the CustomMaterialMap for a meshHandle.
|
|
virtual const CustomMaterialMap & | GetCustomMaterials (const MeshHandle &meshHandle) const =0 |
| Gets the CustomMaterialMap for a meshHandle.
|
|
virtual void | ConnectModelChangeEventHandler (const MeshHandle &meshHandle, ModelChangedEvent::Handler &handler)=0 |
| Connects a handler to any changes to an RPI::Model. Changes include loading and reloading.
|
|
virtual void | ConnectObjectSrgCreatedEventHandler (const MeshHandle &meshHandle, ObjectSrgCreatedEvent::Handler &handler)=0 |
| Connects a handler to ObjectSrg creation.
|
|
virtual void | SetTransform (const MeshHandle &meshHandle, const Transform &transform, const Vector3 &nonUniformScale=Vector3::CreateOne())=0 |
| Sets the transform for a given mesh handle.
|
|
virtual Transform | GetTransform (const MeshHandle &meshHandle)=0 |
| Gets the transform for a given mesh handle.
|
|
virtual Vector3 | GetNonUniformScale (const MeshHandle &meshHandle)=0 |
| Gets the non-uniform scale for a given mesh handle.
|
|
virtual void | SetLocalAabb (const MeshHandle &meshHandle, const AZ::Aabb &localAabb)=0 |
| Sets the local space bbox for a given mesh handle. You don't need to call this for static models, only skinned/animated models.
|
|
virtual AZ::Aabb | GetLocalAabb (const MeshHandle &meshHandle) const =0 |
| Gets the local space bbox for a given mesh handle. Unless SetLocalAabb has been called before, this will be the bbox of the model asset.
|
|
virtual void | SetSortKey (const MeshHandle &meshHandle, RHI::DrawItemSortKey sortKey)=0 |
| Sets the sort key for a given mesh handle.
|
|
virtual RHI::DrawItemSortKey | GetSortKey (const MeshHandle &meshHandle) const =0 |
| Gets the sort key for a given mesh handle.
|
|
virtual void | SetMeshLodConfiguration (const MeshHandle &meshHandle, const RPI::Cullable::LodConfiguration &meshLodConfig)=0 |
| Sets LOD mesh configurations to be used in the Mesh Feature Processor.
|
|
virtual RPI::Cullable::LodConfiguration | GetMeshLodConfiguration (const MeshHandle &meshHandle) const =0 |
| Gets the LOD mesh configurations being used in the Mesh Feature Processor.
|
|
virtual void | SetExcludeFromReflectionCubeMaps (const MeshHandle &meshHandle, bool excludeFromReflectionCubeMaps)=0 |
| Sets the option to exclude this mesh from baked reflection probe cubemaps.
|
|
virtual bool | GetExcludeFromReflectionCubeMaps (const MeshHandle &meshHandle) const =0 |
| Gets the if this mesh is excluded from baked reflection probe cubemaps.
|
|
virtual void | SetIsAlwaysDynamic (const MeshHandle &meshHandle, bool isAlwaysDynamic)=0 |
| Sets a mesh to be considered to be always moving even if the transform hasn't changed. This is useful for meshes that are skinned or have vertex animation.
|
|
virtual bool | GetIsAlwaysDynamic (const MeshHandle &meshHandle) const =0 |
| Gets if a mesh is considered to always be moving.
|
|
virtual void | SetRayTracingEnabled (const MeshHandle &meshHandle, bool rayTracingEnabled)=0 |
| Sets the option to exclude this mesh from raytracing.
|
|
virtual bool | GetRayTracingEnabled (const MeshHandle &meshHandle) const =0 |
| Gets whether this mesh is excluded from raytracing.
|
|
virtual void | SetVisible (const MeshHandle &meshHandle, bool visible)=0 |
| Sets the mesh as visible or hidden. When the mesh is hidden it will not be rendered by the feature processor.
|
|
virtual bool | GetVisible (const MeshHandle &meshHandle) const =0 |
|
virtual void | SetUseForwardPassIblSpecular (const MeshHandle &meshHandle, bool useForwardPassIblSpecular)=0 |
| Sets the mesh to render IBL specular in the forward pass.
|
|
virtual void | SetRayTracingDirty (const MeshHandle &meshHandle)=0 |
| Set a flag that the ray tracing data needs to be updated, usually after material changes.
|
|
| 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 (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 () |
|