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

#include <ColorVertexBuffer.h>

+ Inheritance diagram for FColorVertexBuffer:

Public Types

enum class  NullBindStride { FColorSizeForComponentOverride , ZeroForDefaultBufferBind }
 
- Public Types inherited from FRenderResource
enum class  EInitPhase : uint8 { Pre , Default , MAX }
 

Public Member Functions

ENGINE_API FColorVertexBuffer ()
 
ENGINE_API ~FColorVertexBuffer ()
 
ENGINE_API void CleanUp ()
 
ENGINE_API void Init (uint32 InNumVertices, bool bNeedsCPUAccess=true)
 
ENGINE_API void Init (const TArray< FStaticMeshBuildVertex > &InVertices, bool bNeedsCPUAccess=true)
 
ENGINE_API void Init (const FConstMeshBuildVertexView &InVertices, bool bNeedsCPUAccess=true)
 
void Init (const FColorVertexBuffer &InVertexBuffer, bool bNeedsCPUAccess=true)
 
ENGINE_API bool AppendVertices (const FStaticMeshBuildVertex *Vertices, const uint32 NumVerticesToAppend)
 
ENGINE_API void Serialize (FArchive &Ar, bool bNeedsCPUAccess)
 
void SerializeMetaData (FArchive &Ar)
 
ENGINE_API void SetMetaData (uint32 InStride, uint32 InNumVertices)
 
void ClearMetaData ()
 
void ExportText (FString &ValueStr) const
 
void ImportText (const TCHAR *SourceText)
 
ENGINE_API void operator= (const FColorVertexBuffer &Other)
 
FColorVertexColor (uint32 VertexIndex)
 
const FColorVertexColor (uint32 VertexIndex) const
 
uint32 GetStride () const
 
uint32 GetNumVertices () const
 
ENGINE_API bool GetAllowCPUAccess () const
 
ENGINE_API uint32 GetAllocatedSize () const
 
ENGINE_API void GetVertexColors (TArray< FColor > &OutColors) const
 
ENGINE_API void InitFromColorArray (const FColor *InColors, uint32 Count, uint32 Stride=sizeof(FColor), bool bNeedsCPUAccess=true)
 
void InitFromColorArray (const TArray< FColor > &InColors)
 
void InitFromSingleColor (const FColor &InColor, uint32 Count)
 
FBufferRHIRef CreateRHIBuffer (FRHICommandListBase &RHICmdList)
 
void InitRHIForStreaming (FRHIBuffer *IntermediateBuffer, FRHIResourceReplaceBatcher &Batcher)
 
void ReleaseRHIForStreaming (FRHIResourceReplaceBatcher &Batcher)
 
virtual ENGINE_API void InitRHI (FRHICommandListBase &RHICmdList) override
 
virtual ENGINE_API void ReleaseRHI () override
 
virtual FString GetFriendlyName () const override
 
ENGINE_API void BindColorVertexBuffer (const class FVertexFactory *VertexFactory, struct FStaticMeshDataType &StaticMeshData) const
 
FRHIShaderResourceViewGetColorComponentsSRV () const
 
voidGetVertexData ()
 
const voidGetVertexData () const
 
- Public Member Functions inherited from FVertexBuffer
RENDERCORE_API FVertexBuffer ()
 
RENDERCORE_API FVertexBuffer (const FVertexBuffer &)
 
RENDERCORE_API FVertexBufferoperator= (const FVertexBuffer &Other)
 
virtual RENDERCORE_API ~FVertexBuffer ()
 
const FBufferRHIRefGetRHI () const
 
RENDERCORE_API void SetRHI (const FBufferRHIRef &BufferRHI)
 
- 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)
 
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 BindDefaultColorVertexBuffer (const class FVertexFactory *VertexFactory, struct FStaticMeshDataType &StaticMeshData, NullBindStride BindStride)
 
- 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)
 

Additional Inherited Members

- Public Attributes inherited from FVertexBuffer
FBufferRHIRef VertexBufferRHI
 
- Public Attributes inherited from FRenderResource
ERenderResourceState ResourceState = ERenderResourceState::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)
 
- Static Protected Member Functions inherited from FRenderResource
static RENDERCORE_API FRHICommandListBaseGetImmediateCommandList ()
 

Detailed Description

A vertex buffer of colors.

Member Enumeration Documentation

◆ NullBindStride

Enumerator
FColorSizeForComponentOverride 
ZeroForDefaultBufferBind 

Constructor & Destructor Documentation

◆ FColorVertexBuffer()

FColorVertexBuffer::FColorVertexBuffer ( )

Default constructor.

◆ ~FColorVertexBuffer()

FColorVertexBuffer::~FColorVertexBuffer ( )

Destructor.

Member Function Documentation

◆ AppendVertices()

bool FColorVertexBuffer::AppendVertices ( const FStaticMeshBuildVertex Vertices,
const uint32  NumVerticesToAppend 
)

Appends the specified vertices to the end of the buffer

Parameters
VerticesThe vertex data to be appended. Must not be nullptr.
NumVerticesToAppendHow many vertices should be added
Returns
true if append operation is successful

◆ BindColorVertexBuffer()

void FColorVertexBuffer::BindColorVertexBuffer ( const class FVertexFactory VertexFactory,
struct FStaticMeshDataType StaticMeshData 
) const

◆ BindDefaultColorVertexBuffer()

void FColorVertexBuffer::BindDefaultColorVertexBuffer ( const class FVertexFactory VertexFactory,
struct FStaticMeshDataType StaticMeshData,
NullBindStride  BindStride 
)
static

◆ CleanUp()

void FColorVertexBuffer::CleanUp ( )

Delete existing resources

◆ ClearMetaData()

void FColorVertexBuffer::ClearMetaData ( )

◆ CreateRHIBuffer()

FBufferRHIRef FColorVertexBuffer::CreateRHIBuffer ( FRHICommandListBase RHICmdList)

Create an RHI vertex buffer with CPU data. CPU data may be discarded after creation (see TResourceArray::Discard)

◆ ExportText()

void FColorVertexBuffer::ExportText ( FString &  ValueStr) const

Export the data to a string, used for editor Copy&Paste. The method must not be called if there is no data.

Export the data to a string, used for editor Copy&Paste.

◆ GetAllocatedSize()

uint32 FColorVertexBuffer::GetAllocatedSize ( ) const

Useful for memory profiling.

◆ GetAllowCPUAccess()

bool FColorVertexBuffer::GetAllowCPUAccess ( ) const

◆ GetColorComponentsSRV()

FRHIShaderResourceView * FColorVertexBuffer::GetColorComponentsSRV ( ) const
inline

◆ GetFriendlyName()

virtual FString FColorVertexBuffer::GetFriendlyName ( ) const
inlineoverridevirtual
Returns
The resource's friendly name. Typically a UObject name.

Reimplemented from FVertexBuffer.

◆ GetNumVertices()

uint32 FColorVertexBuffer::GetNumVertices ( ) const
inline

◆ GetStride()

uint32 FColorVertexBuffer::GetStride ( ) const
inline

◆ GetVertexColors()

void FColorVertexBuffer::GetVertexColors ( TArray< FColor > &  OutColors) const

Gets all vertex colors in the buffer

Parameters
OutColorsThe populated list of colors

◆ GetVertexData() [1/2]

void * FColorVertexBuffer::GetVertexData ( )
inline

◆ GetVertexData() [2/2]

const void * FColorVertexBuffer::GetVertexData ( ) const
inline

◆ ImportText()

void FColorVertexBuffer::ImportText ( const TCHAR SourceText)

Export the data from a string, used for editor Copy&Paste.

Parameters
SourceText- must not be 0

Export the data from a string, used for editor Copy&Paste.

◆ Init() [1/4]

void FColorVertexBuffer::Init ( const FColorVertexBuffer InVertexBuffer,
bool  bNeedsCPUAccess = true 
)

Initializes this vertex buffer with the contents of the given vertex buffer.

Parameters
InVertexBuffer- The vertex buffer to initialize from.

◆ Init() [2/4]

void FColorVertexBuffer::Init ( const FConstMeshBuildVertexView InVertices,
bool  bNeedsCPUAccess = true 
)

◆ Init() [3/4]

void FColorVertexBuffer::Init ( const TArray< FStaticMeshBuildVertex > &  InVertices,
bool  bNeedsCPUAccess = true 
)

Initializes the buffer with the given vertices, used to convert legacy layouts.

Parameters
InVertices- The vertices to initialize the buffer with.

◆ Init() [4/4]

void FColorVertexBuffer::Init ( uint32  InNumVertices,
bool  bNeedsCPUAccess = true 
)

◆ InitFromColorArray() [1/2]

void FColorVertexBuffer::InitFromColorArray ( const FColor InColors,
uint32  Count,
uint32  Stride = sizeof(FColor),
bool  bNeedsCPUAccess = true 
)

Load from a array of colors

Parameters
InColors- must not be 0
Count- must be > 0
Stride- in bytes, usually sizeof(FColor) but can be 0 to use a single input color or larger.

Load from raw color array

◆ InitFromColorArray() [2/2]

void FColorVertexBuffer::InitFromColorArray ( const TArray< FColor > &  InColors)
inline

Load from raw color array.

Parameters
InColors- InColors must not be empty

◆ InitFromSingleColor()

void FColorVertexBuffer::InitFromSingleColor ( const FColor InColor,
uint32  Count 
)
inline

Load from single color.

Parameters
Count- must be > 0

◆ InitRHI()

void FColorVertexBuffer::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.

◆ InitRHIForStreaming()

void FColorVertexBuffer::InitRHIForStreaming ( FRHIBuffer IntermediateBuffer,
FRHIResourceReplaceBatcher Batcher 
)

Similar to Init/ReleaseRHI but only update existing SRV so references to the SRV stays valid

◆ operator=()

void FColorVertexBuffer::operator= ( const FColorVertexBuffer Other)

Specialized assignment operator, only used when importing LOD's.

Specialized assignment operator, only used when importing LOD's.

◆ ReleaseRHI()

void FColorVertexBuffer::ReleaseRHI ( )
overridevirtual

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

Reimplemented from FVertexBuffer.

◆ ReleaseRHIForStreaming()

void FColorVertexBuffer::ReleaseRHIForStreaming ( FRHIResourceReplaceBatcher Batcher)

◆ Serialize()

void FColorVertexBuffer::Serialize ( FArchive Ar,
bool  bNeedsCPUAccess 
)

Serializer

Parameters
ArArchive to serialize with
bInNeedsCPUAccessWhether the elements need to be accessed by the CPU

Serializer

Parameters
ArArchive to serialize with
bNeedsCPUAccessWhether the elements need to be accessed by the CPU

◆ SerializeMetaData()

void FColorVertexBuffer::SerializeMetaData ( FArchive Ar)

◆ SetMetaData()

void FColorVertexBuffer::SetMetaData ( uint32  InStride,
uint32  InNumVertices 
)

◆ VertexColor() [1/2]

FColor & FColorVertexBuffer::VertexColor ( uint32  VertexIndex)
inline

◆ VertexColor() [2/2]

const FColor & FColorVertexBuffer::VertexColor ( uint32  VertexIndex) const
inline

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