Navigation
API > API/Runtime > API/Runtime/Engine
Vertex buffer for a static mesh LOD
| Name | FStaticMeshVertexBuffer |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Public/Rendering/StaticMeshVertexBuffer.h |
| Include Path | #include "Rendering/StaticMeshVertexBuffer.h" |
Syntax
class FStaticMeshVertexBuffer : public FRenderResource
Inheritance Hierarchy
- FRenderResource → FStaticMeshVertexBuffer
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FStaticMeshVertexBuffer() |
Default constructor. | Rendering/StaticMeshVertexBuffer.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FStaticMeshVertexBuffer() |
Destructor. | Rendering/StaticMeshVertexBuffer.h |
Classes
| Name | Remarks |
|---|---|
| FTangentsVertexBuffer | |
| FTexcoordVertexBuffer |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| TangentsVertexBuffer | FStaticMeshVertexBuffer::FTangentsVertexBuffer | Rendering/StaticMeshVertexBuffer.h | ||
| TexCoordVertexBuffer | FStaticMeshVertexBuffer::FTexcoordVertexBuffer | Rendering/StaticMeshVertexBuffer.h |
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bUseFullPrecisionUVs | bool | Corresponds to UStaticMesh::UseFullPrecisionUVs. if true then 32 bit UVs are used | Rendering/StaticMeshVertexBuffer.h | |
| bUseHighPrecisionTangentBasis | bool | If true then RGB10A2 is used to store tangent else RGBA8 | Rendering/StaticMeshVertexBuffer.h | |
| NeedsCPUAccess | bool | Rendering/StaticMeshVertexBuffer.h | ||
| NumTexCoords | uint32 | The number of texcoords/vertex in the buffer. | Rendering/StaticMeshVertexBuffer.h | |
| NumVertices | uint32 | The cached number of vertices. | Rendering/StaticMeshVertexBuffer.h | |
| TangentsData | FStaticMeshVertexDataInterface * | The vertex data storage type | Rendering/StaticMeshVertexBuffer.h | |
| TangentsDataPtr | uint8 * | The cached vertex data pointer. | Rendering/StaticMeshVertexBuffer.h | |
| TangentsSRV | FShaderResourceViewRHIRef | Rendering/StaticMeshVertexBuffer.h | ||
| TangentsStride | uint32 | The cached Tangent stride. | Rendering/StaticMeshVertexBuffer.h | |
| TexcoordData | FStaticMeshVertexDataInterface * | Rendering/StaticMeshVertexBuffer.h | ||
| TexcoordDataPtr | uint8 * | Rendering/StaticMeshVertexBuffer.h | ||
| TexcoordStride | uint32 | The cached Texcoord stride. | Rendering/StaticMeshVertexBuffer.h | |
| TextureCoordinatesSRV | FShaderResourceViewRHIRef | Rendering/StaticMeshVertexBuffer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void AppendVertices
(
const FStaticMeshBuildVertex* Vertices, |
Appends the specified vertices to the end of the buffer | Rendering/StaticMeshVertexBuffer.h | |
void BindLightMapVertexBuffer
(
const FVertexFactory* VertexFactory, |
Rendering/StaticMeshVertexBuffer.h | ||
void BindPackedTexCoordVertexBuffer
(
const FVertexFactory* VertexFactory, |
Rendering/StaticMeshVertexBuffer.h | ||
void BindTangentVertexBuffer
(
const FVertexFactory* VertexFactory, |
Rendering/StaticMeshVertexBuffer.h | ||
void BindTexCoordVertexBuffer
(
const FVertexFactory* VertexFactory, |
Rendering/StaticMeshVertexBuffer.h | ||
void CleanUp() |
Delete existing resources | Rendering/StaticMeshVertexBuffer.h | |
void ClearMetaData() |
Rendering/StaticMeshVertexBuffer.h | ||
FBufferRHIRef CreateTangentsRHIBuffer
(
FRHICommandListBase& RHICmdList |
Create an RHI vertex buffer with CPU data. | Rendering/StaticMeshVertexBuffer.h | |
FBufferRHIRef CreateTexCoordRHIBuffer
(
FRHICommandListBase& RHICmdList |
Rendering/StaticMeshVertexBuffer.h | ||
bool GetAllowCPUAccess() |
Rendering/StaticMeshVertexBuffer.h | ||
uint32 GetNumTexCoords() |
Rendering/StaticMeshVertexBuffer.h | ||
uint32 GetNumVertices() |
Rendering/StaticMeshVertexBuffer.h | ||
uint32 GetResourceSize() |
Rendering/StaticMeshVertexBuffer.h | ||
const void * GetTangentData () |
Rendering/StaticMeshVertexBuffer.h | ||
void * GetTangentData () |
Rendering/StaticMeshVertexBuffer.h | ||
int GetTangentSize() |
Rendering/StaticMeshVertexBuffer.h | ||
FRHIShaderResourceView * GetTangentsSRV() |
Rendering/StaticMeshVertexBuffer.h | ||
const void * GetTexCoordData () |
Rendering/StaticMeshVertexBuffer.h | ||
void * GetTexCoordData () |
Rendering/StaticMeshVertexBuffer.h | ||
int GetTexCoordSize() |
Rendering/StaticMeshVertexBuffer.h | ||
FRHIShaderResourceView * GetTexCoordsSRV() |
Rendering/StaticMeshVertexBuffer.h | ||
bool GetUseFullPrecisionUVs() |
Rendering/StaticMeshVertexBuffer.h | ||
bool GetUseHighPrecisionTangentBasis() |
Rendering/StaticMeshVertexBuffer.h | ||
FVector2f GetVertexUV
(
uint32 VertexIndex, |
Set the vertex UV values at the given index in the vertex buffer | Rendering/StaticMeshVertexBuffer.h | |
FVector2f GetVertexUV_Typed
(
uint32 VertexIndex, |
Rendering/StaticMeshVertexBuffer.h | ||
void Init
(
uint32 InNumVertices, |
Rendering/StaticMeshVertexBuffer.h | ||
void Init
(
const FStaticMeshVertexBuffer& InVertexBuffer, |
Initializes this vertex buffer with the contents of the given vertex buffer. | Rendering/StaticMeshVertexBuffer.h | |
void Init
(
const FConstMeshBuildVertexView& InVertices, |
Initializes the buffer with the given vertices. | Rendering/StaticMeshVertexBuffer.h | |
void Init
(
const FConstMeshBuildVertexView& InVertices, |
Initializes the buffer with the given vertex view. | Rendering/StaticMeshVertexBuffer.h | |
void Init
(
const TArray< FStaticMeshBuildVertex >& InVertices, |
Rendering/StaticMeshVertexBuffer.h | ||
void Init
(
const TArray< FStaticMeshBuildVertex >& InVertices, |
Initializes the buffer with the given vertices. Initializes the buffer with the given vertices. | Rendering/StaticMeshVertexBuffer.h | |
void InitRHIForStreaming
(
FRHIBuffer* IntermediateTangentsBuffer, |
Similar to Init/ReleaseRHI but only update existing SRV so references to the SRV stays valid | Rendering/StaticMeshVertexBuffer.h | |
bool IsValid() |
Rendering/StaticMeshVertexBuffer.h | ||
void ReleaseRHIForStreaming
(
FRHIResourceReplaceBatcher& Batcher |
Rendering/StaticMeshVertexBuffer.h | ||
void Serialize
(
FArchive& Ar, |
Serializer | Rendering/StaticMeshVertexBuffer.h | |
void SerializeMetaData
(
FArchive& Ar |
Rendering/StaticMeshVertexBuffer.h | ||
void SetMetaData
(
uint32 NumTexCoords, |
Rendering/StaticMeshVertexBuffer.h | ||
void SetUseFullPrecisionUVs
(
bool UseFull |
Rendering/StaticMeshVertexBuffer.h | ||
void SetUseHighPrecisionTangentBasis
(
bool bUseHighPrecision |
Rendering/StaticMeshVertexBuffer.h | ||
void SetVertexTangents
(
uint32 VertexIndex, |
Rendering/StaticMeshVertexBuffer.h | ||
void SetVertexUV
(
uint32 VertexIndex, |
Set the vertex UV values at the given index in the vertex buffer | Rendering/StaticMeshVertexBuffer.h | |
FVector4f VertexTangentX
(
uint32 VertexIndex |
Rendering/StaticMeshVertexBuffer.h | ||
FVector4f VertexTangentX_Typed
(
uint32 VertexIndex |
Rendering/StaticMeshVertexBuffer.h | ||
FVector3f VertexTangentY
(
uint32 VertexIndex |
Calculate the binormal (TangentY) vector using the normal,tangent vectors | Rendering/StaticMeshVertexBuffer.h | |
FVector4f VertexTangentY_Typed
(
uint32 VertexIndex |
Rendering/StaticMeshVertexBuffer.h | ||
FVector4f VertexTangentZ
(
uint32 VertexIndex |
Rendering/StaticMeshVertexBuffer.h | ||
FVector4f VertexTangentZ_Typed
(
uint32 VertexIndex |
Rendering/StaticMeshVertexBuffer.h |
Overridden from FRenderResource
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FString GetFriendlyName() |
Rendering/StaticMeshVertexBuffer.h | ||
virtual void InitResource
(
FRHICommandListBase& RHICmdList |
Rendering/StaticMeshVertexBuffer.h | ||
virtual void InitRHI
(
FRHICommandListBase& RHICmdList |
Rendering/StaticMeshVertexBuffer.h | ||
virtual void ReleaseResource() |
Rendering/StaticMeshVertexBuffer.h | ||
virtual void ReleaseRHI() |
Rendering/StaticMeshVertexBuffer.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void operator=
(
const FStaticMeshVertexBuffer& Other |
Specialized assignment operator, only used when importing LOD's. | Rendering/StaticMeshVertexBuffer.h |