docs.unity3d.com
    Show / Hide Table of Contents

    Class BarracudaArray

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

    Inheritance
    Object
    BarracudaArray
    BarracudaArrayFromManagedArray
    Namespace: Unity.Barracuda
    Syntax
    public class BarracudaArray : IDisposable

    Constructors

    BarracudaArray(SafeHandle, BarracudaArray.DataType, Int32)

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

    BarracudaArray(Int32, BarracudaArray.DataType, Allocator)

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

    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
    Boolean

    Item[Int32]

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

    Item[Int64]

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

    Length

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

    LongLength

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

    RawPtr

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

    SizeOfType

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

    Type

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

    Methods

    AddressAt(Int64)

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

    BlockCopy(Byte[], Int32, BarracudaArray, Int32, Int32)

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

    BlockCopy(BarracudaArray, Int32, Byte[], Int32, Int32)

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

    Copy(Single[], Int32, BarracudaArray, Int32, Int32)

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

    Copy(Single[], Int32, BarracudaArray, Int64, Int32)

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

    Copy(Single[], BarracudaArray, Int32)

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

    Copy(BarracudaArray, Int32, Single[], Int32, Int32)

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

    Copy(BarracudaArray, Int32, BarracudaArray, Int32, Int32)

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

    Copy(BarracudaArray, BarracudaArray, Int32)

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

    CopyTo(BarracudaArray, Int32)

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

    CopyTo(BarracudaArray, Int64)

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

    DataAlignmentSize(BarracudaArray.DataType)

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

    DataItemSize(BarracudaArray.DataType)

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

    Dispose()

    Declaration
    public virtual void Dispose()

    GetFloat(Int32)

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

    GetHalf(Int32)

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

    LengthWithPaddingForGPUCopy(BarracudaArray.DataType, Int32)

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

    SetFloat(Int32, Single)

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

    SetHalf(Int32, half)

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

    UploadToComputeBuffer(ComputeBuffer)

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

    UploadToComputeBuffer(ComputeBuffer, Int32, Int32, Int32)

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

    ZeroMemory()

    Declaration
    public void ZeroMemory()

    Operators

    Implicit(BarracudaArray to Single[])

    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
    Single[]
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023