Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


compress

Packs components with an enabled mask to the left.
Read time 2 minutesLast updated 13 days ago

Definition

compress(int*, int, int4, bool4)

Packs components with an enabled mask to the left.
public static int compress(int* output, int index, int4 val, bool4 mask)

Parameters

output

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

index

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

val

The value to to compress.

mask

Mask indicating which components are enabled.

Returns

Type

Description

intIndex 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(uint*, int, uint4, bool4)

Packs components with an enabled mask to the left.
public static int compress(uint* output, int index, uint4 val, bool4 mask)

Parameters

output

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

index

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

The value to to compress.

mask

Mask indicating which components are enabled.

Returns

Type

Description

intIndex 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(float*, int, float4, bool4)

Packs components with an enabled mask to the left.
public static int compress(float* output, int index, float4 val, bool4 mask)

Parameters

output

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

index

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

The value to to compress.

mask

Mask indicating which components are enabled.

Returns

Type

Description

intIndex 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.