FVertexFactoryType

An object used to represent the type of a vertex factory.

Windows
MacOS
Linux

References

Module

RenderCore

Header

/Engine/Source/Runtime/RenderCore/Public/VertexFactory.h

Include

#include "VertexFactory.h"

Syntax

class FVertexFactoryType

Remarks

An object used to represent the type of a vertex factory.

Constructors

Name Description

Public function

FVertexFactoryType

(
    const TCHAR* InName,
    const TCHAR* InShaderFilename,
    bool bInUsedWithMaterials,
    bool bInSupportsStaticLighting,
    bool bInSupportsDynamicLighting,
    bool bInSupportsPrecisePrevWorldPos,
    bool bInSupportsPositionOnly,
    bool bInSupportsCachingMeshDrawComm...,
    bool bInSupportsPrimitiveIdStream,
    ConstructParametersType InConstruct...,
    ShouldCacheType InShouldCache,
    ModifyCompilationEnvironmentType In...,
    ValidateCompiledResultType InValida...,
    SupportsTessellationShadersType InS...
)

Minimal initialization constructor.

Destructors

Name Description

Public function Virtual

~FVertexFactoryType()

Functions

Name Description

Public function

void

 

AddReferencedUniformBufferIncludes

(
    FShaderCompilerEnvironment& OutEnv...,
    FString& OutSourceFilePrefix,
    EShaderPlatform Platform
)

Adds include statements for uniform buffers that this shader type references, and builds a prefix for the shader file with the include statements.

Public function Const

FVertexFacto...

 

CreateShaderParameters

(
    EShaderFrequency ShaderFrequency
)

Public function

void

 

FlushShaderFileCache

(
    const TMap< FString, TArray< const ...
)

Public function Const

FName

 

GetFName()

Public function Const

int32

 

GetId()

Returns an int32 specific to this vertex factory type.

Public function Const

const TCHAR ...

 

GetName()

Accessors.

Public function Static

int32

 

GetNumVertexFactoryTypes()

Public function Const

const TMap< ...

 

GetReferencedUniformBufferStructsCache()

Public function Const

const FSeria...

 

GetSerializationHistory

(
    EShaderFrequency Frequency
)

Public function Const

const TCHAR ...

 

GetShaderFilename()

Public function Const

const FSHAHa...

 

GetSourceHash

(
    EShaderPlatform ShaderPlatform
)

Calculates a Hash based on this vertex factory type's source code and includes

Public function Static

TLinkedList<...

 

GetTypeList()

Public function Static

FVertexFacto...

 

GetVFByName

(
    const FString& VFName
)

Finds a FVertexFactoryType by name.

Public function Static

void

 

Initialize

(
    const TMap< FString, TArray< const ...
)

Initialize FVertexFactoryType static members, this must be called before any VF types are created.

Public function Const

bool

 

IsUsedWithMaterials()

Public function

void

 

ModifyCompilationEnvironment

(
    EShaderPlatform Platform,
    const FMaterial* Material,
    FShaderCompilerEnvironment& OutEnv...
)

Calls the function ptr for the shader type on the given environment

Public function

bool

 

ShouldCache

(
    EShaderPlatform Platform,
    const FMaterial* Material,
    const FShaderType* ShaderType
)

Should we cache the material's shadertype on this platform with this vertex factory?

Public function Const

bool

 

SupportsCachingMeshDrawCommands()

Public function Const

bool

 

SupportsDynamicLighting()

Public function Const

bool

 

SupportsPositionOnly()

Public function Const

bool

 

SupportsPrecisePrevWorldPos()

Public function Const

bool

 

SupportsPrimitiveIdStream()

Public function Const

bool

 

SupportsStaticLighting()

Public function Const

bool

 

SupportsTessellationShaders()

Does this vertex factory support tessellation shaders?

Public function Static

void

 

Uninitialize()

Uninitializes FVertexFactoryType cached data.

Public function

void

 

ValidateCompiledResult

(
    EShaderPlatform Platform,
    const FShaderParameterMap& Paramet...,
    TArray< FString >& OutErrors
)

Typedefs

Constants

Name

Description

bInitializedSerializationHistory

Tracks whether serialization history for all shader types has been initialized.

NextHashIndex

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback