docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class BarracudaArray

    A BarracudaArray exposes a buffer of native memory to managed code.

    Inheritance
    object
    BarracudaArray
    BarracudaArrayFromManagedArray
    Implements
    IDisposable
    Inherited Members
    object.ToString()
    object.Equals(object)
    object.Equals(object, object)
    object.ReferenceEquals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    Namespace: Unity.Barracuda
    Assembly: solution.dll
    Syntax
    public class BarracudaArray : IDisposable

    Constructors

    BarracudaArray(int, DataType, Allocator)

    Declaration
    public BarracudaArray(int length, DataType dataType = DataType.Float, Allocator allocator = Allocator.Persistent)
    Parameters
    Type Name Description
    int length
    DataType dataType
    Allocator allocator

    BarracudaArray(SafeHandle, DataType, int)

    Declaration
    protected BarracudaArray(SafeHandle safeHandle, DataType dataType, int dataLength)
    Parameters
    Type Name Description
    SafeHandle safeHandle
    DataType dataType
    int dataLength

    Fields

    m_SafeHandle

    Declaration
    protected readonly SafeHandle m_SafeHandle
    Field Value
    Type Description
    SafeHandle

    Properties

    Disposed

    Declaration
    public bool Disposed { get; }
    Property Value
    Type Description
    bool

    this[int]

    Declaration
    public float this[int index] { get; set; }
    Parameters
    Type Name Description
    int index
    Property Value
    Type Description
    float

    this[long]

    Declaration
    public float this[long index] { get; set; }
    Parameters
    Type Name Description
    long index
    Property Value
    Type Description
    float

    Length

    Declaration
    public int Length { get; }
    Property Value
    Type Description
    int

    LongLength

    Declaration
    public long LongLength { get; }
    Property Value
    Type Description
    long

    RawPtr

    Declaration
    public virtual void* RawPtr { get; }
    Property Value
    Type Description
    void*

    SizeOfType

    Declaration
    public int SizeOfType { get; }
    Property Value
    Type Description
    int

    Type

    Declaration
    public DataType Type { get; }
    Property Value
    Type Description
    DataType

    Methods

    AddressAt(long)

    Declaration
    public float* AddressAt(long index)
    Parameters
    Type Name Description
    long index
    Returns
    Type Description
    float*

    BlockCopy(byte[], int, BarracudaArray, int, int)

    Declaration
    public static void BlockCopy(byte[] sourceArray, int sourceByteOffset, BarracudaArray destinationArray, int destinationByteOffset, int lengthInBytes)
    Parameters
    Type Name Description
    byte[] sourceArray
    int sourceByteOffset
    BarracudaArray destinationArray
    int destinationByteOffset
    int lengthInBytes

    BlockCopy(BarracudaArray, int, byte[], int, int)

    Declaration
    public static void BlockCopy(BarracudaArray sourceArray, int sourceByteOffset, byte[] destinationArray, int destinationByteOffset, int lengthInBytes)
    Parameters
    Type Name Description
    BarracudaArray sourceArray
    int sourceByteOffset
    byte[] destinationArray
    int destinationByteOffset
    int lengthInBytes

    Copy(float[], int, BarracudaArray, int, int)

    Declaration
    public static void Copy(float[] sourceArray, int sourceIndex, BarracudaArray destinationArray, int destinationIndex, int length)
    Parameters
    Type Name Description
    float[] sourceArray
    int sourceIndex
    BarracudaArray destinationArray
    int destinationIndex
    int length

    Copy(float[], int, BarracudaArray, long, int)

    Declaration
    public static void Copy(float[] sourceArray, int sourceIndex, BarracudaArray destinationArray, long destinationIndex, int length)
    Parameters
    Type Name Description
    float[] sourceArray
    int sourceIndex
    BarracudaArray destinationArray
    long destinationIndex
    int length

    Copy(float[], BarracudaArray, int)

    Declaration
    public static void Copy(float[] sourceArray, BarracudaArray destinationArray, int length = -1)
    Parameters
    Type Name Description
    float[] sourceArray
    BarracudaArray destinationArray
    int length

    Copy(BarracudaArray, int, float[], int, int)

    Declaration
    public static void Copy(BarracudaArray sourceArray, int sourceIndex, float[] destinationArray, int destinationIndex, int length)
    Parameters
    Type Name Description
    BarracudaArray sourceArray
    int sourceIndex
    float[] destinationArray
    int destinationIndex
    int length

    Copy(BarracudaArray, int, BarracudaArray, int, int)

    Declaration
    public static void Copy(BarracudaArray sourceArray, int sourceIndex, BarracudaArray destinationArray, int destinationIndex, int length)
    Parameters
    Type Name Description
    BarracudaArray sourceArray
    int sourceIndex
    BarracudaArray destinationArray
    int destinationIndex
    int length

    Copy(BarracudaArray, BarracudaArray, int)

    Declaration
    public static void Copy(BarracudaArray sourceArray, BarracudaArray destinationArray, int length = -1)
    Parameters
    Type Name Description
    BarracudaArray sourceArray
    BarracudaArray destinationArray
    int length

    CopyTo(BarracudaArray, int)

    Declaration
    public void CopyTo(BarracudaArray dst, int dstOffset)
    Parameters
    Type Name Description
    BarracudaArray dst
    int dstOffset

    CopyTo(BarracudaArray, long)

    Declaration
    public void CopyTo(BarracudaArray dst, long dstOffset)
    Parameters
    Type Name Description
    BarracudaArray dst
    long dstOffset

    DataAlignmentSize(DataType)

    Declaration
    public static int DataAlignmentSize(DataType dataType)
    Parameters
    Type Name Description
    DataType dataType
    Returns
    Type Description
    int

    DataItemSize(DataType)

    Declaration
    public static int DataItemSize(DataType dataType)
    Parameters
    Type Name Description
    DataType dataType
    Returns
    Type Description
    int

    Dispose()

    Declaration
    public virtual void Dispose()

    GetFloat(int)

    Declaration
    public float GetFloat(int index)
    Parameters
    Type Name Description
    int index
    Returns
    Type Description
    float

    GetHalf(int)

    Declaration
    public half GetHalf(int index)
    Parameters
    Type Name Description
    int index
    Returns
    Type Description
    half

    HalfAddressAt(long)

    Declaration
    public half* HalfAddressAt(long index)
    Parameters
    Type Name Description
    long index
    Returns
    Type Description
    half*

    LengthWithPaddingForGPUCopy(DataType, int)

    Declaration
    public static int LengthWithPaddingForGPUCopy(DataType dataType, int length)
    Parameters
    Type Name Description
    DataType dataType
    int length
    Returns
    Type Description
    int

    RawAddressAt(long)

    Declaration
    public void* RawAddressAt(long index)
    Parameters
    Type Name Description
    long index
    Returns
    Type Description
    void*

    SetFloat(int, float)

    Declaration
    public void SetFloat(int index, float value)
    Parameters
    Type Name Description
    int index
    float value

    SetHalf(int, half)

    Declaration
    public void SetHalf(int index, half value)
    Parameters
    Type Name Description
    int index
    half value

    UploadToComputeBuffer(ComputeBuffer)

    Declaration
    public void UploadToComputeBuffer(ComputeBuffer buffer)
    Parameters
    Type Name Description
    ComputeBuffer buffer

    UploadToComputeBuffer(ComputeBuffer, int, int, int)

    Declaration
    public void UploadToComputeBuffer(ComputeBuffer buffer, int elementStartIndex, int computeBufferStartIndex, int numElementToCopy)
    Parameters
    Type Name Description
    ComputeBuffer buffer
    int elementStartIndex
    int computeBufferStartIndex
    int numElementToCopy

    ZeroMemory()

    Declaration
    public void ZeroMemory()

    Operators

    implicit operator float[](BarracudaArray)

    Warning, this return a copy! Do not use to modify a BarracudaArray

    Declaration
    public static implicit operator float[](BarracudaArray barracudaArray)
    Parameters
    Type Name Description
    BarracudaArray barracudaArray
    Returns
    Type Description
    float[]

    Implements

    IDisposable
    In This Article
    • Constructors
      • BarracudaArray(int, DataType, Allocator)
      • BarracudaArray(SafeHandle, DataType, int)
    • Fields
      • m_SafeHandle
    • Properties
      • Disposed
      • this[int]
      • this[long]
      • Length
      • LongLength
      • RawPtr
      • SizeOfType
      • Type
    • Methods
      • AddressAt(long)
      • BlockCopy(byte[], int, BarracudaArray, int, int)
      • BlockCopy(BarracudaArray, int, byte[], int, int)
      • Copy(float[], int, BarracudaArray, int, int)
      • Copy(float[], int, BarracudaArray, long, int)
      • Copy(float[], BarracudaArray, int)
      • Copy(BarracudaArray, int, float[], int, int)
      • Copy(BarracudaArray, int, BarracudaArray, int, int)
      • Copy(BarracudaArray, BarracudaArray, int)
      • CopyTo(BarracudaArray, int)
      • CopyTo(BarracudaArray, long)
      • DataAlignmentSize(DataType)
      • DataItemSize(DataType)
      • Dispose()
      • GetFloat(int)
      • GetHalf(int)
      • HalfAddressAt(long)
      • LengthWithPaddingForGPUCopy(DataType, int)
      • RawAddressAt(long)
      • SetFloat(int, float)
      • SetHalf(int, half)
      • UploadToComputeBuffer(ComputeBuffer)
      • UploadToComputeBuffer(ComputeBuffer, int, int, int)
      • ZeroMemory()
    • Operators
      • implicit operator float[](BarracudaArray)
    • Implements
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)