docs.unity.cn
    Show / Hide Table of Contents

    Method compress

    compress(Int32*, Int32, int4, bool4)

    Packs components with an enabled mask to the left.

    Declaration
    public static int compress(int *output, int index, int4 val, bool4 mask)
    Parameters
    Type Name Description
    Int32* output

    Pointer to packed output array where enabled components should be stored to.

    Int32 index

    Index into output array where first enabled component should be stored to.

    int4 val

    The value to to compress.

    bool4 mask

    Mask indicating which components are enabled.

    Returns
    Type Description
    Int32

    Index to element after the last one stored.

    Remarks

    This function is also known as left packing. The effect of this function is to filter out components that are not enabled and leave an output buffer tightly packed with only the enabled components. A common use case is if you perform intersection tests on arrays of data in structure of arrays (SoA) form and need to produce an output array of the things that intersected.

    compress(UInt32*, Int32, uint4, bool4)

    Packs components with an enabled mask to the left.

    Declaration
    public static int compress(uint *output, int index, uint4 val, bool4 mask)
    Parameters
    Type Name Description
    UInt32* output

    Pointer to packed output array where enabled components should be stored to.

    Int32 index

    Index into output array where first enabled component should be stored to.

    uint4 val

    The value to to compress.

    bool4 mask

    Mask indicating which components are enabled.

    Returns
    Type Description
    Int32

    Index to element after the last one stored.

    Remarks

    This function is also known as left packing. The effect of this function is to filter out components that are not enabled and leave an output buffer tightly packed with only the enabled components. A common use case is if you perform intersection tests on arrays of data in structure of arrays (SoA) form and need to produce an output array of the things that intersected.

    compress(Single*, Int32, float4, bool4)

    Packs components with an enabled mask to the left.

    Declaration
    public static int compress(float *output, int index, float4 val, bool4 mask)
    Parameters
    Type Name Description
    Single* output

    Pointer to packed output array where enabled components should be stored to.

    Int32 index

    Index into output array where first enabled component should be stored to.

    float4 val

    The value to to compress.

    bool4 mask

    Mask indicating which components are enabled.

    Returns
    Type Description
    Int32

    Index to element after the last one stored.

    Remarks

    This function is also known as left packing. The effect of this function is to filter out components that are not enabled and leave an output buffer tightly packed with only the enabled components. A common use case is if you perform intersection tests on arrays of data in structure of arrays (SoA) form and need to produce an output array of the things that intersected.

    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