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::HairShortCutGeometryDepthAlphaPass Class Reference

#include <HairShortCutGeometryDepthAlphaPass.h>

Inherits AZ::Render::Hair::HairGeometryRasterPass.

Public Member Functions

 AZ_RTTI (HairShortCutGeometryDepthAlphaPass, "{F09A0411-B1FF-4085-98E7-6B8B0E1B2C3D}", HairGeometryRasterPass)
 
 AZ_CLASS_ALLOCATOR (HairShortCutGeometryDepthAlphaPass, SystemAllocator)
 
- Public Member Functions inherited from AZ::Render::Hair::HairGeometryRasterPass
 AZ_RTTI (HairGeometryRasterPass, "{0F07360A-A286-4060-8C62-137AFFA50561}", RasterPass)
 
 AZ_CLASS_ALLOCATOR (HairGeometryRasterPass, SystemAllocator)
 
bool AddDrawPackets (AZStd::list< Data::Instance< HairRenderObject > > &hairObjects)
 
void SchedulePacketBuild (HairRenderObject *hairObject)
 The following will be called when an object was added or shader has been compiled.
 
Data::Instance< RPI::Shader > GetShader ()
 
void SetFeatureProcessor (HairFeatureProcessor *featureProcessor)
 
virtual bool IsEnabled () const override
 

Static Public Member Functions

static RPI::Ptr< HairShortCutGeometryDepthAlphaPassCreate (const RPI::PassDescriptor &descriptor)
 
- Static Public Member Functions inherited from AZ::Render::Hair::HairGeometryRasterPass
static RPI::Ptr< HairGeometryRasterPassCreate (const RPI::PassDescriptor &descriptor)
 Creates a HairGeometryRasterPass.
 

Protected Member Functions

 HairShortCutGeometryDepthAlphaPass (const RPI::PassDescriptor &descriptor)
 
- Protected Member Functions inherited from AZ::Render::Hair::HairGeometryRasterPass
 HairGeometryRasterPass (const RPI::PassDescriptor &descriptor)
 
void OnShaderReinitialized (const RPI::Shader &shader) override
 
void OnShaderAssetReinitialized (const Data::Asset< RPI::ShaderAsset > &shaderAsset) override
 
void OnShaderVariantReinitialized (const AZ::RPI::ShaderVariant &shaderVariant) override
 
void SetShaderPath (const char *shaderPath)
 
bool LoadShaderAndPipelineState ()
 
bool AcquireFeatureProcessor ()
 
void BuildShaderAndRenderData ()
 
bool BuildDrawPacket (HairRenderObject *hairObject)
 
void CompileResources (const RHI::FrameGraphCompileContext &context) override
 

Additional Inherited Members

- Protected Attributes inherited from AZ::Render::Hair::HairGeometryRasterPass
HairFeatureProcessorm_featureProcessor = nullptr
 
Data::Instance< RPI::Shader > m_shader = nullptr
 
AZStd::string m_shaderPath = "dummyShaderPath"
 
RPI::PassDescriptor m_passDescriptor
 
const RHI::PipelineState * m_pipelineState = nullptr
 
RPI::ViewPtr m_currentView = nullptr
 
AZStd::mutex m_mutex
 
AZStd::unordered_set< HairRenderObject * > m_newRenderObjects
 
bool m_initialized = false
 

Detailed Description

This geometry pass uses the following Srgs:

  • PerPassSrg shared by all hair passes for the shared dynamic buffer
  • PerMaterialSrg - used solely by this pass to alter the vertices and apply the visual hair properties to each fragment.
  • HairDynamicDataSrg (PerObjectSrg) - shared buffers views for this hair object only.
  • PerViewSrg and PerSceneSrg - as per the data from Atom.

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