Navigation
API > API/Runtime > API/Runtime/RenderCore
Encapsulates a vertex data source which can be linked into a vertex shader.
| Name | FVertexFactory |
| Type | class |
| Header File | /Engine/Source/Runtime/RenderCore/Public/VertexFactory.h |
| Include Path | #include "VertexFactory.h" |
Syntax
class FVertexFactory : public FRenderResource
Inheritance Hierarchy
- FRenderResource → FVertexFactory
Derived Classes
FVertexFactory derived class hierarchy
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FVertexFactory
(
ERHIFeatureLevel::Type InFeatureLevel |
VertexFactory.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual ~FVertexFactory() |
VertexFactory.h |
Structs
| Name | Remarks |
|---|---|
| FVertexStream | Information needed to set a vertex stream. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FVertexStreamList | TArray< FVertexStream, TInlineAllocator< 8 > > | VertexFactory.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| Declaration | FVertexDeclarationRHIRef | The RHI vertex declaration used to render the factory normally. | VertexFactory.h | |
| PositionAndNormalDeclaration | FVertexDeclarationRHIRef | VertexFactory.h | ||
| PositionAndNormalStream | TArray< FVertexStream, TInlineAllocator< 3 > > | VertexFactory.h | ||
| PositionDeclaration | FVertexDeclarationRHIRef | The RHI vertex declaration used to render the factory during depth only passes. | VertexFactory.h | |
| PositionStream | TArray< FVertexStream, TInlineAllocator< 2 > > | The position only vertex stream used to render the factory during depth only passes. | VertexFactory.h | |
| PrimitiveIdStreamIndex | int8 | In the editor PrimtiveId streams may differ between mobile and desktop feature levels, so we store them separately. | VertexFactory.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FVertexDeclarationRHIRef & GetDeclaration () |
Accessors. | VertexFactory.h | |
const FVertexDeclarationRHIRef & GetDeclaration
(
EVertexInputStreamType InputStreamType |
VertexFactory.h | ||
int32 GetPrimitiveIdStreamIndex
(
const FStaticFeatureLevel InFeatureLevel, |
VertexFactory.h | ||
void GetStreams
(
ERHIFeatureLevel::Type InFeatureLevel, |
VertexFactory.h | ||
virtual FShaderResourceViewRHIRef GetTriangleSortingPositionSRV() |
VertexFactory.h | ||
virtual FVertexFactoryType * GetType() |
VertexFactory.h | ||
virtual bool IsCoarseProxyMesh() |
VertexFactory.h | ||
bool NeedsDeclaration() |
VertexFactory.h | ||
void OffsetInstanceStreams
(
uint32 InstanceOffset, |
VertexFactory.h | ||
virtual bool RendersPrimitivesAsCameraFacingSprites() |
VertexFactory.h | ||
void SetDeclaration
(
FVertexDeclarationRHIRef& NewDeclaration |
VertexFactory.h | ||
bool SupportsGPUScene
(
const FStaticFeatureLevel InFeatureLevel |
VertexFactory.h | ||
bool SupportsManualVertexFetch
(
const FStaticFeatureLevel InFeatureLevel |
VertexFactory.h | ||
bool SupportsNullPixelShader() |
Indicates whether the vertex factory supports a null pixel shader. | VertexFactory.h | |
virtual bool SupportsPositionAndNormalOnlyStream() |
Indicates whether the vertex factory supports a position-and-normal-only stream. | VertexFactory.h | |
virtual bool SupportsPositionOnlyStream() |
Indicates whether the vertex factory supports a position-only stream. | VertexFactory.h | |
bool SupportsTriangleSorting() |
VertexFactory.h |
Overridden from FRenderResource
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void ReleaseRHI () |
Releases the RHI resources used by this resource. | VertexFactory.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FVertexElement AccessStreamComponent
(
const FVertexStreamComponent& Component, |
Creates a vertex element for a vertex stream component. | VertexFactory.h | |
FVertexElement AccessStreamComponent
(
const FVertexStreamComponent& Component, |
Creates a vertex element for a vertex stream components. | VertexFactory.h | |
bool AddPrimitiveIdStreamElement
(
EVertexInputStreamType InputStreamType, |
VertexFactory.h | ||
void InitDeclaration
(
const FVertexDeclarationElementList& Elements, |
Initializes the vertex declaration. | VertexFactory.h | |
void SetPrimitiveIdStreamIndex
(
const FStaticFeatureLevel InFeatureLevel, |
VertexFactory.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static FVertexElement AccessStreamComponent
(
const FVertexStreamComponent& Component, |
Creates a vertex element for a vertex stream components. | VertexFactory.h | |
static void GetPSOPrecacheVertexFetchElements
(
EVertexInputStreamType VertexInputStreamType, |
Can be overridden by FVertexFactory subclasses which have EVertexFactoryFlags::SupportsPSOPrecaching set - this function will only be called when that flag is set | VertexFactory.h | |
static void ModifyCompilationEnvironment
(
const FVertexFactoryShaderPermutationParameters& Parameters, |
Can be overridden by FVertexFactory subclasses to modify their compile environment just before compilation occurs. | VertexFactory.h | |
static int32 TranslatePrimitiveIdStreamIndex
(
const FStaticFeatureLevel InFeatureLevel, |
VertexFactory.h | ||
static void ValidateCompiledResult
(
const FVertexFactoryType* Type, |
Can be overridden by FVertexFactory subclasses to fail a compile based on compilation output. | VertexFactory.h |