UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FRDGBufferDesc Struct Reference

#include <RenderGraphResources.h>

Public Member Functions

uint32 GetSize () const
 
bool operator== (const FRDGBufferDesc &Other) const
 
bool operator!= (const FRDGBufferDesc &Other) const
 

Static Public Member Functions

static FRDGBufferDesc CreateByteAddressDesc (uint32 NumBytes)
 
template<typename ParameterStruct >
static FRDGBufferDesc CreateByteAddressDesc (uint32 NumElements)
 
static FRDGBufferDesc CreateIndirectDesc (uint32 BytesPerElement, uint32 NumElements)
 
static FRDGBufferDesc CreateRawIndirectDesc (uint32 NumBytes)
 
template<typename IndirectParameterStruct >
static FRDGBufferDesc CreateIndirectDesc (uint32 NumElements=1)
 
static FRDGBufferDesc CreateIndirectDesc (uint32 NumElements=1)
 
static FRDGBufferDesc CreateStructuredDesc (uint32 BytesPerElement, uint32 NumElements)
 
template<typename ParameterStruct >
static FRDGBufferDesc CreateStructuredDesc (uint32 NumElements)
 
static FRDGBufferDesc CreateBufferDesc (uint32 BytesPerElement, uint32 NumElements)
 
template<typename ParameterStruct >
static FRDGBufferDesc CreateBufferDesc (uint32 NumElements)
 
static FRDGBufferDesc CreateUploadDesc (uint32 BytesPerElement, uint32 NumElements)
 
template<typename ParameterStruct >
static FRDGBufferDesc CreateUploadDesc (uint32 NumElements)
 
static FRDGBufferDesc CreateStructuredUploadDesc (uint32 BytesPerElement, uint32 NumElements)
 
template<typename ParameterStruct >
static FRDGBufferDesc CreateStructuredUploadDesc (uint32 NumElements)
 
static FRDGBufferDesc CreateByteAddressUploadDesc (uint32 NumBytes)
 
template<typename ParameterStruct >
static FRDGBufferDesc CreateByteAddressUploadDesc (uint32 NumElements)
 

Public Attributes

uint32 BytesPerElement = 1
 
uint32 NumElements = 1
 
EBufferUsageFlags Usage = EBufferUsageFlags::None
 
const FShaderParametersMetadataMetadata = nullptr
 

Friends

uint32 GetTypeHash (const FRDGBufferDesc &Desc)
 

Detailed Description

Descriptor for render graph tracked Buffer.

Member Function Documentation

◆ CreateBufferDesc() [1/2]

static FRDGBufferDesc FRDGBufferDesc::CreateBufferDesc ( uint32  BytesPerElement,
uint32  NumElements 
)
inlinestatic

◆ CreateBufferDesc() [2/2]

template<typename ParameterStruct >
static FRDGBufferDesc FRDGBufferDesc::CreateBufferDesc ( uint32  NumElements)
inlinestatic

◆ CreateByteAddressDesc() [1/2]

static FRDGBufferDesc FRDGBufferDesc::CreateByteAddressDesc ( uint32  NumBytes)
inlinestatic

◆ CreateByteAddressDesc() [2/2]

template<typename ParameterStruct >
static FRDGBufferDesc FRDGBufferDesc::CreateByteAddressDesc ( uint32  NumElements)
inlinestatic

◆ CreateByteAddressUploadDesc() [1/2]

static FRDGBufferDesc FRDGBufferDesc::CreateByteAddressUploadDesc ( uint32  NumBytes)
inlinestatic

◆ CreateByteAddressUploadDesc() [2/2]

template<typename ParameterStruct >
static FRDGBufferDesc FRDGBufferDesc::CreateByteAddressUploadDesc ( uint32  NumElements)
inlinestatic

◆ CreateIndirectDesc() [1/3]

static FRDGBufferDesc FRDGBufferDesc::CreateIndirectDesc ( uint32  BytesPerElement,
uint32  NumElements 
)
inlinestatic

◆ CreateIndirectDesc() [2/3]

static FRDGBufferDesc FRDGBufferDesc::CreateIndirectDesc ( uint32  NumElements = 1)
inlinestatic

Create the descriptor for an indirect RHI call.

Note, IndirectParameterStruct should be one of the: struct FRHIDispatchIndirectParameters struct FRHIDrawIndirectParameters struct FRHIDrawIndexedIndirectParameters

◆ CreateIndirectDesc() [3/3]

static FRDGBufferDesc FRDGBufferDesc::CreateIndirectDesc ( uint32  NumElements = 1)
inlinestatic

◆ CreateRawIndirectDesc()

static FRDGBufferDesc FRDGBufferDesc::CreateRawIndirectDesc ( uint32  NumBytes)
inlinestatic

◆ CreateStructuredDesc() [1/2]

static FRDGBufferDesc FRDGBufferDesc::CreateStructuredDesc ( uint32  BytesPerElement,
uint32  NumElements 
)
inlinestatic

◆ CreateStructuredDesc() [2/2]

template<typename ParameterStruct >
static FRDGBufferDesc FRDGBufferDesc::CreateStructuredDesc ( uint32  NumElements)
inlinestatic

◆ CreateStructuredUploadDesc() [1/2]

static FRDGBufferDesc FRDGBufferDesc::CreateStructuredUploadDesc ( uint32  BytesPerElement,
uint32  NumElements 
)
inlinestatic

◆ CreateStructuredUploadDesc() [2/2]

template<typename ParameterStruct >
static FRDGBufferDesc FRDGBufferDesc::CreateStructuredUploadDesc ( uint32  NumElements)
inlinestatic

◆ CreateUploadDesc() [1/2]

static FRDGBufferDesc FRDGBufferDesc::CreateUploadDesc ( uint32  BytesPerElement,
uint32  NumElements 
)
inlinestatic

◆ CreateUploadDesc() [2/2]

template<typename ParameterStruct >
static FRDGBufferDesc FRDGBufferDesc::CreateUploadDesc ( uint32  NumElements)
inlinestatic

◆ GetSize()

uint32 FRDGBufferDesc::GetSize ( ) const
inline

Returns the total number of bytes allocated for a such buffer.

◆ operator!=()

bool FRDGBufferDesc::operator!= ( const FRDGBufferDesc Other) const
inline

◆ operator==()

bool FRDGBufferDesc::operator== ( const FRDGBufferDesc Other) const
inline

Friends And Related Symbol Documentation

◆ GetTypeHash

uint32 GetTypeHash ( const FRDGBufferDesc Desc)
friend

Member Data Documentation

◆ BytesPerElement

uint32 FRDGBufferDesc::BytesPerElement = 1

Stride in bytes for index and structured buffers.

◆ Metadata

const FShaderParametersMetadata* FRDGBufferDesc::Metadata = nullptr

Meta data of the layout of the buffer for debugging purposes.

◆ NumElements

uint32 FRDGBufferDesc::NumElements = 1

Number of elements.

◆ Usage

EBufferUsageFlags FRDGBufferDesc::Usage = EBufferUsageFlags::None

Bitfields describing the uses of that buffer.


The documentation for this struct was generated from the following file: