Search Results for

    Show / Hide Table of Contents

    Struct GPUBufferDescription

    A common description for all GPU buffers.

    Assembly: FlaxEngine.dll
    File: Engine/Graphics/GPUBufferDescription.h
    Syntax
    public struct GPUBufferDescription

    Constructors

    DEPRECATED("Use Vertex with vertex layout parameter instead")

    Creates vertex buffer description. [Deprecated in v1.10]

    Declaration
    public DEPRECATED("Use Vertex with vertex layout parameter instead") static GPUBufferDescription Vertex(int32 elementStride
    Parameters
    "Use Vertex with vertex layout parameter instead" GPUBufferDescription_DEPRECATED__Use_Vertex_with_vertex_layout_parameter_instead__

    Fields

    data

    Declaration
    public int32 void* data{
        return Buffer(elementsCount* elementStride, GPUBufferFlags::VertexBuffer, PixelFormat::Unknown, data, elementStride, GPUResourceUsage::Default)
    Field Value
    int32 void

    elementsCount

    Declaration
    public int32 elementsCount
    Field Value
    int32

    Flags

    The buffer flags.

    Declaration
    public GPUBufferFlags Flags
    Field Value
    GPUBufferFlags

    Format

    The format of the data in a buffer.

    Declaration
    public PixelFormat Format
    Field Value
    PixelFormat

    InitData

    The pointer to location of initial resource data. Null if not used.

    Declaration
    public void* InitData
    Field Value
    void

    Size

    The buffer total size.

    Declaration
    public uint32 Size
    Field Value
    uint32

    Stride

    The buffer structure stride (size in bytes per element).

    Declaration
    public uint32 Stride
    Field Value
    uint32

    Usage

    Value that identifies how the buffer is to be read from and written to. The most common value is GPUResourceUsage.Default; see GPUResourceUsage for all possible values.

    Declaration
    public GPUResourceUsage Usage
    Field Value
    GPUResourceUsage

    usage

    Declaration
    public int32 GPUResourceUsage usage
    Field Value
    int32 GPUResourceUsage

    VertexLayout

    The vertex elements layout used by vertex buffers only.

    Declaration
    public GPUVertexLayout* VertexLayout
    Field Value
    GPUVertexLayout

    Methods

    Buffer(uint32 size, GPUBufferFlags flags, PixelFormat format=PixelFormat::Unknown, const void* initData=nullptr, uint32 stride = 0, GPUResourceUsage usage=GPUResourceUsage::Default)

    Creates the buffer description.

    Declaration
    public static GPUBufferDescription Buffer(uint32 size, GPUBufferFlags flags, PixelFormat format=PixelFormat::Unknown, const void* initData=nullptr, uint32 stride = 0, GPUResourceUsage usage=GPUResourceUsage::Default)
    Parameters
    uint32 size

    The size (in bytes).

    GPUBufferFlags flags

    The flags.

    PixelFormat format

    The format.

    void initData

    The initial data.

    uint32 stride

    The stride.

    GPUResourceUsage usage

    The usage.

    Returns
    GPUBufferDescription

    The buffer description.

    Equals(const GPUBufferDescription& other)

    Declaration
    public bool Equals(const GPUBufferDescription& other) const
    Parameters
    GPUBufferDescription other

    Returns
    bool

    GetElementsCount()

    Gets the number elements in the buffer.

    Declaration
    public uint32 GetElementsCount() const
    Returns
    uint32

    IsShaderResource()

    Gets a value indicating whether this instance is a shader resource.

    Declaration
    public bool IsShaderResource() const
    Returns
    bool

    IsUnorderedAccess()

    Gets a value indicating whether this instance is a unordered access.

    Declaration
    public bool IsUnorderedAccess() const
    Returns
    bool

    operator!=(const GPUBufferDescription& other)

    Declaration
    public bool operator!=(const GPUBufferDescription& other) const
    Parameters
    GPUBufferDescription other

    Returns
    bool

    operator==(const GPUBufferDescription& other)

    Declaration
    public bool operator==(const GPUBufferDescription& other) const
    Parameters
    GPUBufferDescription other

    Returns
    bool

    ToStaging()

    Declaration
    public GPUBufferDescription ToStaging() const
    Returns
    GPUBufferDescription

    ToStagingReadback()

    Declaration
    public GPUBufferDescription ToStagingReadback() const
    Returns
    GPUBufferDescription

    ToStagingUpload()

    Declaration
    public GPUBufferDescription ToStagingUpload() const
    Returns
    GPUBufferDescription

    ToString()

    Declaration
    public String ToString() const
    Returns
    String

    Typed(const void* data, int32 count, PixelFormat viewFormat, bool isUnorderedAccess=false, GPUResourceUsage usage=GPUResourceUsage::Default)

    Creates typed buffer description.

    Example in HLSL: Buffer<float4>.

    Declaration
    public static GPUBufferDescription Typed(const void* data, int32 count, PixelFormat viewFormat, bool isUnorderedAccess=false, GPUResourceUsage usage=GPUResourceUsage::Default)
    Parameters
    void data

    The data.

    int32 count

    The elements count.

    PixelFormat viewFormat

    The view format.

    bool isUnorderedAccess

    True if use UAV, otherwise false.

    GPUResourceUsage usage

    The usage.

    Returns
    GPUBufferDescription

    The buffer description.

    Typed(int32 count, PixelFormat viewFormat, bool isUnorderedAccess=false, GPUResourceUsage usage=GPUResourceUsage::Default)

    Creates typed buffer description.

    Example in HLSL: Buffer<float4>.

    Declaration
    public static GPUBufferDescription Typed(int32 count, PixelFormat viewFormat, bool isUnorderedAccess=false, GPUResourceUsage usage=GPUResourceUsage::Default)
    Parameters
    int32 count

    The elements count.

    PixelFormat viewFormat

    The view format.

    bool isUnorderedAccess

    True if use UAV, otherwise false.

    GPUResourceUsage usage

    The usage.

    Returns
    GPUBufferDescription

    The buffer description.

    Vertex(GPUVertexLayout* layout, uint32 elementsCount, const void* data)

    Creates vertex buffer description.

    Declaration
    public static GPUBufferDescription Vertex(GPUVertexLayout* layout, uint32 elementsCount, const void* data)
    Parameters
    GPUVertexLayout layout

    The vertex buffer layout.

    uint32 elementsCount

    The elements count.

    void data

    The data.

    Returns
    GPUBufferDescription

    The buffer description.

    Vertex(GPUVertexLayout* layout, uint32 elementsCount, GPUResourceUsage usage=GPUResourceUsage::Default)

    Creates vertex buffer description.

    Declaration
    public static GPUBufferDescription Vertex(GPUVertexLayout* layout, uint32 elementsCount, GPUResourceUsage usage=GPUResourceUsage::Default)
    Parameters
    GPUVertexLayout layout

    The vertex buffer layout.

    uint32 elementsCount

    The elements count.

    GPUResourceUsage usage

    The usage mode.

    Returns
    GPUBufferDescription

    The buffer description.

    Vertex(GPUVertexLayout* layout, uint32 elementStride, uint32 elementsCount, const void* data)

    Creates vertex buffer description.

    Declaration
    public static GPUBufferDescription Vertex(GPUVertexLayout* layout, uint32 elementStride, uint32 elementsCount, const void* data)
    Parameters
    GPUVertexLayout layout

    The vertex buffer layout.

    uint32 elementStride

    The element stride.

    uint32 elementsCount

    The elements count.

    void data

    The data.

    Returns
    GPUBufferDescription

    The buffer description.

    Vertex(GPUVertexLayout* layout, uint32 elementStride, uint32 elementsCount, GPUResourceUsage usage=GPUResourceUsage::Default)

    Creates vertex buffer description.

    Declaration
    public static GPUBufferDescription Vertex(GPUVertexLayout* layout, uint32 elementStride, uint32 elementsCount, GPUResourceUsage usage=GPUResourceUsage::Default)
    Parameters
    GPUVertexLayout layout

    The vertex buffer layout.

    uint32 elementStride

    The element stride.

    uint32 elementsCount

    The elements count.

    GPUResourceUsage usage

    The usage mode.

    Returns
    GPUBufferDescription

    The buffer description.

    • Improve this Doc
    • View Source
    In This Article
    Back to top Copyright © 2012-2024 Wojciech Figat