UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FGeometryCacheVertexVertexFactory Class Reference

#include <GeometryCacheVertexFactory.h>

+ Inheritance diagram for FGeometryCacheVertexVertexFactory:

Classes

struct  FDataType
 

Public Member Functions

 FGeometryCacheVertexVertexFactory (ERHIFeatureLevel::Type InFeatureLevel)
 
ENGINE_API void SetData (const FDataType &InData)
 
ENGINE_API void SetData (FRHICommandListBase &RHICmdList, const FDataType &InData)
 
ENGINE_API void CreateManualVertexFetchUniformBuffer (const FVertexBuffer *PoistionBuffer, const FVertexBuffer *MotionBlurBuffer, FGeometryCacheVertexFactoryUserData &OutUserData) const
 
ENGINE_API void CreateManualVertexFetchUniformBuffer (FRHICommandListBase &RHICmdList, const FVertexBuffer *PoistionBuffer, const FVertexBuffer *MotionBlurBuffer, FGeometryCacheVertexFactoryUserData &OutUserData) const
 
virtual ENGINE_API void InitRHI (FRHICommandListBase &RHICmdList) override
 
- Public Member Functions inherited from FVertexFactory
 FVertexFactory (ERHIFeatureLevel::Type InFeatureLevel)
 
virtual RENDERCORE_API ~FVertexFactory ()
 
virtual FVertexFactoryTypeGetType () const
 
RENDERCORE_API void GetStreams (ERHIFeatureLevel::Type InFeatureLevel, EVertexInputStreamType VertexStreamType, FVertexInputStreamArray &OutVertexStreams) const
 
RENDERCORE_API void OffsetInstanceStreams (uint32 InstanceOffset, EVertexInputStreamType VertexStreamType, FVertexInputStreamArray &VertexStreams) const
 
virtual RENDERCORE_API void ReleaseRHI ()
 
FVertexDeclarationRHIRefGetDeclaration ()
 
void SetDeclaration (FVertexDeclarationRHIRef &NewDeclaration)
 
const FVertexDeclarationRHIRefGetDeclaration (EVertexInputStreamType InputStreamType) const
 
virtual bool SupportsPositionOnlyStream () const
 
virtual bool SupportsPositionAndNormalOnlyStream () const
 
bool SupportsNullPixelShader () const
 
bool SupportsTriangleSorting () const
 
virtual FShaderResourceViewRHIRef GetTriangleSortingPositionSRV () const
 
virtual bool RendersPrimitivesAsCameraFacingSprites () const
 
bool NeedsDeclaration () const
 
bool SupportsManualVertexFetch (const FStaticFeatureLevel InFeatureLevel) const
 
int32 GetPrimitiveIdStreamIndex (const FStaticFeatureLevel InFeatureLevel, EVertexInputStreamType InputStreamType) const
 
bool SupportsGPUScene (const FStaticFeatureLevel InFeatureLevel) const
 
- Public Member Functions inherited from FRenderResource
RENDERCORE_API FRenderResource ()
 
RENDERCORE_API FRenderResource (ERHIFeatureLevel::Type InFeatureLevel)
 
RENDERCORE_API FRenderResource (const FRenderResource &)
 
RENDERCORE_API FRenderResource (FRenderResource &&)
 
RENDERCORE_API FRenderResourceoperator= (const FRenderResource &Other)
 
RENDERCORE_API FRenderResourceoperator= (FRenderResource &&Other)
 
virtual RENDERCORE_API ~FRenderResource ()
 
virtual RENDERCORE_API void InitResource (FRHICommandListBase &RHICmdList)
 
virtual RENDERCORE_API void ReleaseResource ()
 
RENDERCORE_API void UpdateRHI (FRHICommandListBase &RHICmdList)
 
virtual FString GetFriendlyName () const
 
bool IsInitialized () const
 
int32 GetListIndex () const
 
EInitPhase GetInitPhase () const
 
void SetOwnerName (FName InOwnerName)
 
FName GetOwnerName () const
 
void SetResourceName (FName InResourceName)
 
FName GetResourceName () const
 

Static Public Member Functions

static ENGINE_API void ModifyCompilationEnvironment (const FVertexFactoryShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
 
static ENGINE_API bool ShouldCompilePermutation (const FVertexFactoryShaderPermutationParameters &Parameters)
 
static ENGINE_API void GetPSOPrecacheVertexFetchElements (EVertexInputStreamType VertexInputStreamType, FVertexDeclarationElementList &OutElements)
 
static ENGINE_API void GetVertexElements (ERHIFeatureLevel::Type FeatureLevel, EVertexInputStreamType InputStreamType, FDataType &StreamComponentData, FVertexDeclarationElementList &OutElements)
 
- Static Public Member Functions inherited from FVertexFactory
static void ModifyCompilationEnvironment (const FVertexFactoryShaderPermutationParameters &Parameters, FShaderCompilerEnvironment &OutEnvironment)
 
static void ValidateCompiledResult (const FVertexFactoryType *Type, EShaderPlatform Platform, const FShaderParameterMap &ParameterMap, TArray< FString > &OutErrors)
 
static void GetPSOPrecacheVertexFetchElements (EVertexInputStreamType VertexInputStreamType, FVertexDeclarationElementList &Elements)
 
- Static Public Member Functions inherited from FRenderResource
static RENDERCORE_API void ReleaseRHIForAllResources ()
 
static RENDERCORE_API void InitPreRHIResources ()
 
static RENDERCORE_API void ChangeFeatureLevel (ERHIFeatureLevel::Type NewFeatureLevel)
 
static RENDERCORE_API FName SetScopeName (FName Name)
 

Public Attributes

friend FGeometryCacheVertexFactoryShaderParameters
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::Default
 

Static Protected Member Functions

static void GetVertexElements (ERHIFeatureLevel::Type FeatureLevel, EVertexInputStreamType InputStreamType, FDataType &StreamComponentData, FVertexDeclarationElementList &OutElements, FVertexStreamList &InOutStreams, int32 &OutPositionStreamIndex, int32 &OutMotionBlurDataStreamIndex)
 
- Static Protected Member Functions inherited from FVertexFactory
template<typename VertexStreamListType >
static FVertexElement AccessStreamComponent (const FVertexStreamComponent &Component, uint8 AttributeIndex, VertexStreamListType &InOutStreams)
 
- Static Protected Member Functions inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 

Protected Attributes

FVertexBuffer VBAlias
 
int32 PositionStreamIndex
 
int32 MotionBlurDataStreamIndex
 
FDataType Data
 
- Protected Attributes inherited from FVertexFactory
FVertexStreamList Streams
 
bool bNeedsDeclaration = true
 

Additional Inherited Members

- Public Types inherited from FRenderResource
enum class  EInitPhase : uint8 { Pre , Default , MAX }
 
- Protected Types inherited from FVertexFactory
typedef TArray< FVertexStream, TInlineAllocator< 8 > > FVertexStreamList
 
- Protected Member Functions inherited from FVertexFactory
void SetPrimitiveIdStreamIndex (const FStaticFeatureLevel InFeatureLevel, EVertexInputStreamType InputStreamType, int32 StreamIndex)
 
RENDERCORE_API bool AddPrimitiveIdStreamElement (EVertexInputStreamType InputStreamType, FVertexDeclarationElementList &Elements, uint8 AttributeIndex, uint8 AttributeIndex_Mobile)
 
FVertexElement AccessStreamComponent (const FVertexStreamComponent &Component, uint8 AttributeIndex)
 
RENDERCORE_API FVertexElement AccessStreamComponent (const FVertexStreamComponent &Component, uint8 AttributeIndex, EVertexInputStreamType InputStreamType)
 
RENDERCORE_API void InitDeclaration (const FVertexDeclarationElementList &Elements, EVertexInputStreamType StreamType=EVertexInputStreamType::Default)
 
- Protected Member Functions inherited from FRenderResource
void SetFeatureLevel (const FStaticFeatureLevel InFeatureLevel)
 
const FStaticFeatureLevel GetFeatureLevel () const
 
bool HasValidFeatureLevel () const
 
template<typename T >
FBufferRHIRef CreateRHIBuffer (FRHICommandListBase &RHICmdList, T &InOutResourceObject, uint32 ResourceCount, EBufferUsageFlags InBufferUsageFlags, const TCHAR *InDebugName)
 
void SetInitPhase (EInitPhase InInitPhase)
 

Detailed Description

Vertex factory for geometry caches. Allows specifying explicit motion blur data as previous frames or motion vectors.

Constructor & Destructor Documentation

◆ FGeometryCacheVertexVertexFactory()

FGeometryCacheVertexVertexFactory::FGeometryCacheVertexVertexFactory ( ERHIFeatureLevel::Type  InFeatureLevel)
inline

Member Function Documentation

◆ CreateManualVertexFetchUniformBuffer() [1/2]

void FGeometryCacheVertexVertexFactory::CreateManualVertexFetchUniformBuffer ( const FVertexBuffer PoistionBuffer,
const FVertexBuffer MotionBlurBuffer,
FGeometryCacheVertexFactoryUserData OutUserData 
) const

◆ CreateManualVertexFetchUniformBuffer() [2/2]

void FGeometryCacheVertexVertexFactory::CreateManualVertexFetchUniformBuffer ( FRHICommandListBase RHICmdList,
const FVertexBuffer PoistionBuffer,
const FVertexBuffer MotionBlurBuffer,
FGeometryCacheVertexFactoryUserData OutUserData 
) const

◆ GetPSOPrecacheVertexFetchElements()

void FGeometryCacheVertexVertexFactory::GetPSOPrecacheVertexFetchElements ( EVertexInputStreamType  VertexInputStreamType,
FVertexDeclarationElementList OutElements 
)
static

◆ GetVertexElements() [1/2]

void FGeometryCacheVertexVertexFactory::GetVertexElements ( ERHIFeatureLevel::Type  FeatureLevel,
EVertexInputStreamType  InputStreamType,
FDataType StreamComponentData,
FVertexDeclarationElementList OutElements 
)
static

◆ GetVertexElements() [2/2]

void FGeometryCacheVertexVertexFactory::GetVertexElements ( ERHIFeatureLevel::Type  FeatureLevel,
EVertexInputStreamType  InputStreamType,
FDataType StreamComponentData,
FVertexDeclarationElementList OutElements,
FVertexStreamList InOutStreams,
int32 OutPositionStreamIndex,
int32 OutMotionBlurDataStreamIndex 
)
staticprotected

◆ InitRHI()

void FGeometryCacheVertexVertexFactory::InitRHI ( FRHICommandListBase RHICmdList)
overridevirtual

Initializes the RHI resources used by this resource. Called when entering the state where both the resource and the RHI have been initialized. This is only called by the rendering thread.

Reimplemented from FRenderResource.

◆ ModifyCompilationEnvironment()

void FGeometryCacheVertexVertexFactory::ModifyCompilationEnvironment ( const FVertexFactoryShaderPermutationParameters Parameters,
FShaderCompilerEnvironment OutEnvironment 
)
static

◆ SetData() [1/2]

void FGeometryCacheVertexVertexFactory::SetData ( const FDataType InData)

An implementation of the interface used by TSynchronizedResource to update the resource with new data from the game thread.

◆ SetData() [2/2]

void FGeometryCacheVertexVertexFactory::SetData ( FRHICommandListBase RHICmdList,
const FDataType InData 
)

◆ ShouldCompilePermutation()

bool FGeometryCacheVertexVertexFactory::ShouldCompilePermutation ( const FVertexFactoryShaderPermutationParameters Parameters)
static

Member Data Documentation

◆ Data

FDataType FGeometryCacheVertexVertexFactory::Data
protected

◆ FGeometryCacheVertexFactoryShaderParameters

friend FGeometryCacheVertexVertexFactory::FGeometryCacheVertexFactoryShaderParameters

◆ MotionBlurDataStreamIndex

int32 FGeometryCacheVertexVertexFactory::MotionBlurDataStreamIndex
protected

◆ PositionStreamIndex

int32 FGeometryCacheVertexVertexFactory::PositionStreamIndex
protected

◆ VBAlias

FVertexBuffer FGeometryCacheVertexVertexFactory::VBAlias
protected

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