[ Web Proxy ]
URL:
Viewing: https://docs.unity3d.com/ScriptReference/GraphicsBuffer.html [Back]  [Original]

Unity - Scripting API: GraphicsBuffer
Version: Unity 6.5 (6000.5)
    • Supported
    • Legacy
    LanguageEnglish
    • C#

    GraphicsBuffer

    class in UnityEngine

    Suggest a change

    Success!

    Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

    Close

    Submission failed

    For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

    Close
    Your name Your email Suggestion* Submit suggestion

    Cancel

    Description

    GPU graphics data buffer, for working with geometry or compute shader data.

    ComputeShader programs often need to read or write arbitrary data from or to memory buffers, and some rendering algorithms need a lower level access or control over geometry data than what is provided by the Mesh class. You can use GraphicsBuffer for these cases. You create the buffers from C# scripts, and then fill them with data using either C# scripts or compute shader programs.

    A graphics buffer is similar to an array in C#, in that it has a number of elements (count) of the same size (stride). You must supply the intended buffer usage (target) when you create a GraphicsBuffer; for example, you must pass GraphicsBuffer.Target.Index for the buffer to be usable as a geometry index buffer.

    When you have finished working with the buffer, you must manually release the GPU memory. You can do this using C# dispose pattern, or by calling Release.

    Additional resources: Graphics.RenderPrimitivesIndexed, Graphics.RenderPrimitivesIndexedIndirect, Graphics.CopyBuffer, ComputeShader, Shader.SetGlobalBuffer, Material.SetBuffer.

    Properties

    Property Description
    bufferHandleThe internal handle of this GraphicsBuffer. Only valid until the buffer is disposed of. (Read Only)
    countNumber of elements in the buffer (Read Only).
    nameThe debug label for the graphics buffer (setter only).
    strideSize of one element in the buffer. For index buffers, this must be either 2 or 4 bytes (Read Only).
    targetTarget, which specifies the intended target(s) of this GraphicsBuffer (Read Only).
    usageFlagsThe flags that specify how this GraphicsBuffer can be used or updated (Read Only).

    Constructors

    Constructor Description
    GraphicsBufferCreate a Graphics Buffer.

    Public Methods

    Method Description
    GetDataRead data values from the buffer into an array. The array can only use blittable types.
    GetNativeBufferPtrRetrieve a native (underlying graphics API) pointer to the buffer.
    IsValidReturns true if this graphics buffer is valid, or false otherwise.
    LockBufferForWriteBegins a write operation to the buffer
    ReleaseRelease a Graphics Buffer.
    SetCounterValueSets counter value of append/consume buffer.
    SetDataSet the buffer with values from an array.
    UnlockBufferAfterWriteEnds a write operation to the buffer

    Static Methods

    Method Description
    CopyCountCopy the counter value of a GraphicsBuffer into another buffer.

    Web Proxy Viewer  |  New URL  |  Original Page