Open 3D Engine AtomTressFX 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::Hair::HairSkinningComputePass Class Referencefinal

#include <HairSkinningComputePass.h>

Inherits RPI::ComputePass.

Public Member Functions

 AZ_RTTI (HairSkinningComputePass, "{DC8D323E-41FF-4FED-89C6-A254FD6809FC}", RPI::ComputePass)
 
 AZ_CLASS_ALLOCATOR (HairSkinningComputePass, SystemAllocator)
 
bool BuildDispatchItem (HairRenderObject *hairObject, DispatchLevel dispatchLevel)
 
void AddDispatchItems (AZStd::list< Data::Instance< HairRenderObject > > &renderObjects)
 Thread-safe function for adding the frame's dispatch items.
 
void CompileResources (const RHI::FrameGraphCompileContext &context) override
 
virtual bool IsEnabled () const override
 
Data::Instance< RPI::Shader > GetShader ()
 Returns the shader held by the ComputePass.
 
void SetFeatureProcessor (HairFeatureProcessor *featureProcessor)
 
void SetAllowIterations (bool allowIterations)
 

Static Public Member Functions

static RPI::Ptr< HairSkinningComputePassCreate (const RPI::PassDescriptor &descriptor)
 

Protected Member Functions

 HairSkinningComputePass (const RPI::PassDescriptor &descriptor)
 
void SetupFrameGraphDependencies (RHI::FrameGraphInterface frameGraph) override
 
void OnShaderReinitialized (const AZ::RPI::Shader &shader) override
 
void OnShaderAssetReinitialized (const Data::Asset< AZ::RPI::ShaderAsset > &shaderAsset) override
 
void OnShaderVariantReinitialized (const AZ::RPI::ShaderVariant &shaderVariant) override
 
bool AcquireFeatureProcessor ()
 
void BuildShaderAndRenderData ()
 

Detailed Description

The Skinning Compute passes are all using the following Srgs via the dispatchItem:

  • PerPassSrg: shared by all hair passes for the shared dynamic buffer and the PPLL buffers
  • HairGenerationSrg: dictates how to construct the hair vertices and skinning
  • HairSimSrg: defines vertices and tangent data shared between all passes

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