Функции создания выделения RenderScript

Обзор

Приведенные ниже функции можно использовать для создания выделений из сценария.

Эти функции можно вызывать прямо или косвенно из вызываемой функции. Если какой-либо путь потока управления может привести к вызову этих функций из функции ядра RenderScript, будет сгенерирована ошибка компилятора.

Краткое содержание

Функции
rsCreateAllocation Создайте объект rs_allocation заданного типа.
rsCreateElement Создает объект rs_element указанного типа данных.
rsCreatePixelElement Создает объект rs_element указанного типа данных и типа данных.
rsCreateType Создает объект rs_type с указанными атрибутами элемента и формы.
rsCreateVectorElement Создает объект rs_element указанного типа данных и ширины вектора.

Функции

rsCreateAlllocation : создать объект rs_allocation заданного типа.

rs_allocation rsCreateAllocation (тип rs_type ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation (тип rs_type , rs_allocation_mipmap_control mipmap, использование uint32_t , void* ptr); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation (тип rs_type , использование uint32_t ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char2 ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char3( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char4 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_char4 ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double2( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double3( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double4( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_double4( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float2 ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float3 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float4 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_float4 ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half2( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half3( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half4 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_half4( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int2( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int3 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int4 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_int4( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAlllocation_long ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long2( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long3 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long4 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_long4 ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short2 ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short3 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short4 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_short4 ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar2( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar3 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar4 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uchar4( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint2( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint3( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint4 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_uint4( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong2 ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong3 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong4 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ulong4 ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort2 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort2 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort2( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort3 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort3 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort3( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort4 ( uint32_t dimX); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort4 ( uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_allocation rsCreateAllocation_ushort4 ( uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
Параметры
тип Тип распределения
использование Флаг использования для выделения
MIP-карта
обычаи
ПТР
dimX
тусклый
димZ

Создает объект rs_allocation заданного типа и использования.

RS_ALLOCATION_USAGE_SCRIPT и RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE — единственные поддерживаемые флаги использования для выделений, созданных из сценария RenderScript.

Вы также можете использовать rsCreateAllocation_ функции-оболочки для непосредственного создания распределений скалярных и векторных числовых типов без создания промежуточных объектов rs_element или rs_type.

Например, rsCreateAllocation_int4() возвращает тип данных Allocation of int4 указанных размеров.

rsCreateElement : создает объект rs_element указанного типа данных.

rs_element rsCreateElement( int32_t data_type, int32_t data_kind, bool isNormalized, uint32_t vecSize); Добавлено на уровне API 24.
rs_element rsCreateElement( rs_data_type data_type); Добавлено на уровне API 24.
Параметры
тип_данных Тип данных элемента
вид_данных
нормализовано
vecSize

Создает объект rs_element указанного типа данных. Тип данных элемента будет установлен на RS_KIND_USER, а вектор_ширина будет установлен на 1, что указывает на невекторный характер.

rsCreatePixelElement : создает объект rs_element указанного типа данных и типа данных.

rs_element rsCreatePixelElement( rs_data_type data_type, rs_data_kind data_kind); Добавлено на уровне API 24.
Параметры
тип_данных Тип данных элемента
вид_данных Вид данных элемента

Создает объект rs_element указанного типа данных и типа данных. Vector_width элемента будет установлен в 1, что указывает на то, что он не является векторным.

rsCreateType : создает объект rs_type с указанными атрибутами элемента и формы.

rs_type rsCreateType (элемент rs_element , uint32_t dimX); Добавлено на уровне API 24.
rs_type rsCreateType( элемент rs_element , uint32_t dimX, uint32_t dimY); Добавлено на уровне API 24.
rs_type rsCreateType( элемент rs_element , uint32_t dimX, uint32_t dimY, uint32_t dimZ); Добавлено на уровне API 24.
rs_type rsCreateType( элемент rs_element , uint32_t dimX, uint32_t dimY, uint32_t dimZ, bool mipmaps, bool face, rs_yuv_format yuv_format); Добавлено на уровне API 24.
Параметры
элемент Элемент, который будет связан с типом
dimX Размер по оси X
тусклый Размер по оси Y
димZ Размер по оси Z
MIP-карты Флаг, указывающий, имеет ли тип цепочку MIP-карт.
лица Флаг, указывающий, является ли Тип кубической картой.
yuv_format Макет YUV для типа

Создает объект rs_type с указанными атрибутами Element и shape.

dimX определяет размер измерения X.

dimY, если он присутствует и не равен нулю, указывает на наличие размера Y и указывает его размер.

dimZ, если он присутствует и не равен нулю, указывает на наличие размера Z и указывает его размер.

mipmaps указывает на наличие уровня детализации (LOD).

Faces указывает на наличие граней кубической карты.

yuv_format указывает связанный формат YUV (или RS_YUV_NONE).

rsCreateVectorElement : создает объект rs_element указанного типа данных и ширины вектора.

rs_element rsCreateVectorElement( rs_data_type data_type, uint32_t вектор_ширина); Добавлено на уровне API 24.
Параметры
тип_данных Тип данных элемента
вектор_ширина Ширина вектора (2, 3 или 4)

Создает объект rs_element указанного типа данных и ширины вектора. Значение вектора_ширины должно быть 2, 3 или 4. Тип данных элемента будет установлен как RS_KIND_USER.