Navigation
API > API/Runtime > API/Runtime/Engine
A vertex buffer storing bone index/weight data.
| Name | FSkinWeightDataVertexBuffer |
| Type | class |
| Header File | /Engine/Source/Runtime/Engine/Public/Rendering/SkinWeightVertexBuffer.h |
| Include Path | #include "Rendering/SkinWeightVertexBuffer.h" |
Syntax
class FSkinWeightDataVertexBuffer : public FVertexBuffer
Inheritance Hierarchy
- FRenderResource → FVertexBuffer → FSkinWeightDataVertexBuffer
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSkinWeightDataVertexBuffer
(
const FSkinWeightDataVertexBuffer& Other |
Constructor (copy) | Rendering/SkinWeightVertexBuffer.h | |
| Default constructor. | Rendering/SkinWeightVertexBuffer.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FSkinWeightDataVertexBuffer() |
Destructor. | Rendering/SkinWeightVertexBuffer.h |
Variables
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bNeedsCPUAccess | bool | True if this vertex buffer will be used with CPU skinning. | Rendering/SkinWeightVertexBuffer.h | |
| bUse16BitBoneIndex | bool | Use 16 bit bone index instead of 8 bit | Rendering/SkinWeightVertexBuffer.h | |
| bUse16BitBoneWeight | bool | Use 16 bit bone weight instead of 8 bit | Rendering/SkinWeightVertexBuffer.h | |
| bVariableBonesPerVertex | bool | Rendering/SkinWeightVertexBuffer.h | ||
| Data | uint8 * | The cached vertex data pointer. | Rendering/SkinWeightVertexBuffer.h | |
| MaxBoneInfluences | uint32 | Has extra bone influences per Vertex, which means using a different TGPUSkinVertexBase | Rendering/SkinWeightVertexBuffer.h | |
| NumBoneWeights | uint32 | Total number of bone weights across all vertices | Rendering/SkinWeightVertexBuffer.h | |
| NumVertices | uint32 | The cached number of vertices. | Rendering/SkinWeightVertexBuffer.h | |
| WeightData | FStaticMeshVertexDataInterface * | The vertex data storage type | Rendering/SkinWeightVertexBuffer.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void CleanUp() |
Delete existing resources | Rendering/SkinWeightVertexBuffer.h | |
void CopyDataFromBuffer
(
const uint8* InSkinWeightData, |
Rendering/SkinWeightVertexBuffer.h | ||
void CopyMetaData
(
const FSkinWeightDataVertexBuffer& Other |
Rendering/SkinWeightVertexBuffer.h | ||
FBufferRHIRef CreateRHIBuffer
(
FRHICommandListBase& RHICmdList |
Create an RHI vertex buffer with CPU data. | Rendering/SkinWeightVertexBuffer.h | |
uint32 GetBoneIndex
(
uint32 VertexWeightOffset, |
Rendering/SkinWeightVertexBuffer.h | ||
uint32 GetBoneIndexAndWeightByteSize() |
Rendering/SkinWeightVertexBuffer.h | ||
uint32 GetBoneIndexByteSize() |
Rendering/SkinWeightVertexBuffer.h | ||
GPUSkinBoneInfluenceType GetBoneInfluenceType() |
Rendering/SkinWeightVertexBuffer.h | ||
uint16 GetBoneWeight
(
uint32 VertexWeightOffset, |
Rendering/SkinWeightVertexBuffer.h | ||
uint32 GetBoneWeightByteSize() |
Rendering/SkinWeightVertexBuffer.h | ||
uint32 GetConstantInfluencesBoneWeightsOffset() |
Rendering/SkinWeightVertexBuffer.h | ||
uint32 GetConstantInfluencesVertexStride() |
Rendering/SkinWeightVertexBuffer.h | ||
uint32 GetMaxBoneInfluences() |
Rendering/SkinWeightVertexBuffer.h | ||
bool GetNeedsCPUAccess() |
Rendering/SkinWeightVertexBuffer.h | ||
uint32 GetNumBoneWeights() |
Rendering/SkinWeightVertexBuffer.h | ||
uint32 GetNumVertices() |
Rendering/SkinWeightVertexBuffer.h | ||
bool GetRigidWeightBone
(
uint32 VertexWeightOffset, |
Rendering/SkinWeightVertexBuffer.h | ||
FRHIShaderResourceView * GetSRV() |
Rendering/SkinWeightVertexBuffer.h | ||
bool GetVariableBonesPerVertex() |
Rendering/SkinWeightVertexBuffer.h | ||
uint32 GetVertexDataSize() |
Rendering/SkinWeightVertexBuffer.h | ||
uint8 * GetWeightData () |
Rendering/SkinWeightVertexBuffer.h | ||
const uint8 * GetWeightData () |
Rendering/SkinWeightVertexBuffer.h | ||
void Init
(
uint32 InNumWeights, |
Rendering/SkinWeightVertexBuffer.h | ||
void InitRHIForStreaming
(
FRHIBuffer* IntermediateBuffer, |
Similar to Init/ReleaseRHI but only update existing SRV so references to the SRV stays valid | Rendering/SkinWeightVertexBuffer.h | |
bool IsWeightDataValid() |
Rendering/SkinWeightVertexBuffer.h | ||
void ReleaseRHIForStreaming
(
FRHIResourceReplaceBatcher& Batcher |
Rendering/SkinWeightVertexBuffer.h | ||
void ResetVertexBoneWeights
(
uint32 VertexWeightOffset, |
Rendering/SkinWeightVertexBuffer.h | ||
void SerializeMetaData
(
FArchive& Ar |
Rendering/SkinWeightVertexBuffer.h | ||
void SetBoneIndex
(
uint32 VertexWeightOffset, |
Rendering/SkinWeightVertexBuffer.h | ||
void SetBoneWeight
(
uint32 VertexWeightOffset, |
Rendering/SkinWeightVertexBuffer.h | ||
void SetMaxBoneInfluences
(
uint32 InMaxBoneInfluences |
Set if this will have extra streams for bone indices & weights. | Rendering/SkinWeightVertexBuffer.h | |
void SetMetaData
(
uint32 InNumVertices, |
Rendering/SkinWeightVertexBuffer.h | ||
void SetNeedsCPUAccess
(
bool bInNeedsCPUAccess |
Set if the CPU needs access to this vertex buffer | Rendering/SkinWeightVertexBuffer.h | |
void SetUse16BitBoneIndex
(
bool bInUse16BitBoneIndex |
Rendering/SkinWeightVertexBuffer.h | ||
void SetUse16BitBoneWeight
(
bool bInUse16BitBoneWeight |
Rendering/SkinWeightVertexBuffer.h | ||
bool Use16BitBoneIndex() |
Rendering/SkinWeightVertexBuffer.h | ||
bool Use16BitBoneWeight() |
Rendering/SkinWeightVertexBuffer.h |
Overridden from FRenderResource
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual FString GetFriendlyName() |
Rendering/SkinWeightVertexBuffer.h | ||
virtual void InitRHI
(
FRHICommandListBase& RHICmdList |
Rendering/SkinWeightVertexBuffer.h | ||
virtual void ReleaseRHI() |
Rendering/SkinWeightVertexBuffer.h |
Operators
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FSkinWeightDataVertexBuffer & operator=
(
const FSkinWeightDataVertexBuffer& Other |
Assignment. Assumes that vertex buffer will be rebuilt | Rendering/SkinWeightVertexBuffer.h |