Обзор
Приведенные ниже функции можно использовать для получения и установки ячеек, составляющих выделение.
- Доступ к отдельным ячейкам осуществляется с помощью функций rsGetElementAt* и rsSetElementAt .
- Несколько ячеек можно скопировать с помощью функций rsAllocationCopy* и rsAllocationV*.
- Для получения значений через сэмплер используйте rsSample .
Краткое содержание
| Функции | |
|---|---|
| rsAllocationCopy1DRange | Копирование последовательных ячеек между выделениями |
| rsAllocationCopy2DRange | Копирование прямоугольной области ячеек между выделениями |
| rsAllocationVLoadX | Получить вектор из распределения скаляров |
| rsAllocationVStoreX | Сохраните вектор в наборе скаляров |
| rsGetElementAt | Вернуть ячейку из выделения |
| rsGetElementAtYuv_uchar_U | Получите компонент U распределения YUV. |
| rsGetElementAtYuv_uchar_V | Получите компонент V распределения YUV. |
| rsGetElementAtYuv_uchar_Y | Получите компонент Y распределения YUV. |
| rsSample | Выборка значения из выделения текстуры |
| rsSetElementAt | Установить ячейку распределения |
Функции
rsAllocationCopy1DRange : копирование последовательных ячеек между выделениями.
| void rsAllocationCopy1DRange( rs_allocation dstAlloc, uint32_t dstOff, uint32_t dstMip, uint32_t count, rs_allocation srcAlloc, uint32_t srcOff, uint32_t srcMip); | Добавлено на уровне API 14. |
Параметры
| dstAlloc | Выделение для копирования ячеек. |
|---|---|
| dstOff | Смещение в месте назначения первой ячейки, в которую будет скопировано. |
| dstMip | Уровень MIP в назначении назначения. 0, если MIP-отображение не используется. |
| считать | Количество ячеек, которые необходимо скопировать. |
| srcAlloc | Распределение источников. |
| srcOff | Смещение в источнике первой копируемой ячейки. |
| srcMip | Уровень MIP в исходном выделении. 0, если MIP-отображение не используется. |
Копирует указанное количество ячеек из одного распределения в другое.
Эти два распределения должны быть разными. Использование этой функции для копирования внутри одного и того же распределения дает неопределенные результаты.
Функция не проверяет, превышает ли смещение плюс счетчик размер любого выделения. Будь осторожен!
Эту функцию следует вызывать только между 1D-распределениями. Вызов его для других выделений не определен.
Эту функцию не следует вызывать изнутри ядра или из любой функции, которая может быть вызвана прямо или косвенно из ядра. Это приведет к ошибке во время выполнения.
rsAllocationCopy2DRange : копирует прямоугольную область ячеек между выделениями.
| void rsAllocationCopy2DRange( rs_allocation dstAlloc, uint32_t dstXoff, uint32_t dstYoff, uint32_t dstMip, rs_allocation_cubemap_face dstFace, uint32_t width, uint32_t height, rs_allocation srcAlloc, uint32_t srcXoff, uint32_t srcYoff, int32_t srcMip, rs_allocation_cubemap_face srcFace); | Добавлено на уровне API 14. |
Параметры
| dstAlloc | Выделение для копирования ячеек. |
|---|---|
| dstXoff | Смещение по оси X в пункте назначения настраиваемого региона. |
| dstYoff | Смещение по оси Y в пункте назначения настраиваемого региона. |
| dstMip | Уровень MIP в назначении назначения. 0, если MIP-отображение не используется. |
| dstFace | Лицо кубической карты назначения. Игнорируется для выделений, которые не являются кубическими картами. |
| ширина | Ширина входящей области для обновления. |
| высота | Высота входящей области для обновления. |
| srcAlloc | Распределение источников. |
| srcXoff | Смещение X в источнике. |
| srcYoff | Смещение Y в источнике. |
| srcMip | Уровень MIP в исходном выделении. 0, если MIP-отображение не используется. |
| srcFace | Кубическая карта исходного распределения. Игнорируется для выделений, которые не являются кубическими картами. |
Копирует прямоугольную область ячеек из одного распределения в другое. Копируются ячейки (ширина * высота).
Эти два распределения должны быть разными. Использование этой функции для копирования внутри одного и того же распределения дает неопределенные результаты.
Функция не проверяет, превышает ли исходный или целевой регион размер соответствующего выделения. Будь осторожен!
Эту функцию следует вызывать только между 2D-распределениями. Вызов его для других выделений не определен.
Эту функцию не следует вызывать изнутри ядра или из любой функции, которая может быть вызвана прямо или косвенно из ядра. Это приведет к ошибке во время выполнения.
rsAllocationVLoadX : получить вектор из распределения скаляров.
| char2 rsAllocationVLoadX_char2 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| char2 rsAllocationVLoadX_char2( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| char2 rsAllocationVLoadX_char2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| char3 rsAllocationVLoadX_char3( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| char3 rsAllocationVLoadX_char3( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| char3 rsAllocationVLoadX_char3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| char4 rsAllocationVLoadX_char4( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| char4 rsAllocationVLoadX_char4( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| char4 rsAllocationVLoadX_char4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| double2 rsAllocationVLoadX_double2 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| double2 rsAllocationVLoadX_double2 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| double2 rsAllocationVLoadX_double2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| double3 rsAllocationVLoadX_double3( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| double3 rsAllocationVLoadX_double3( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| double3 rsAllocationVLoadX_double3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| double4 rsAllocationVLoadX_double4 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| double4 rsAllocationVLoadX_double4( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| double4 rsAllocationVLoadX_double4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| float2 rsAllocationVLoadX_float2( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| float2 rsAllocationVLoadX_float2( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| float2 rsAllocationVLoadX_float2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| float3 rsAllocationVLoadX_float3( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| float3 rsAllocationVLoadX_float3( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| float3 rsAllocationVLoadX_float3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| float4 rsAllocationVLoadX_float4( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| float4 rsAllocationVLoadX_float4( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| float4 rsAllocationVLoadX_float4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| int2 rsAllocationVLoadX_int2 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| int2 rsAllocationVLoadX_int2 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| int2 rsAllocationVLoadX_int2 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| int3 rsAllocationVLoadX_int3 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| int3 rsAllocationVLoadX_int3( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| int3 rsAllocationVLoadX_int3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| int4 rsAllocationVLoadX_int4 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| int4 rsAllocationVLoadX_int4 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| int4 rsAllocationVLoadX_int4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| long2 rsAllocationVLoadX_long2 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| long2 rsAllocationVLoadX_long2( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| long2 rsAllocationVLoadX_long2 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| long3 rsAllocationVLoadX_long3( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| long3 rsAllocationVLoadX_long3( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| long3 rsAllocationVLoadX_long3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| long4 rsAllocationVLoadX_long4 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| long4 rsAllocationVLoadX_long4 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| long4 rsAllocationVLoadX_long4 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| short2 rsAllocationVLoadX_short2 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| short2 rsAllocationVLoadX_short2 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| short2 rsAllocationVLoadX_short2 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| short3 rsAllocationVLoadX_short3 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| short3 rsAllocationVLoadX_short3( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| short3 rsAllocationVLoadX_short3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| short4 rsAllocationVLoadX_short4 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| short4 rsAllocationVLoadX_short4 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| short4 rsAllocationVLoadX_short4 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| uchar2 rsAllocationVLoadX_uchar2 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| uchar2 rsAllocationVLoadX_uchar2 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| uchar2 rsAllocationVLoadX_uchar2 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| uchar3 rsAllocationVLoadX_uchar3 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| uchar3 rsAllocationVLoadX_uchar3( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| uchar3 rsAllocationVLoadX_uchar3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| uchar4 rsAllocationVLoadX_uchar4 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| uchar4 rsAllocationVLoadX_uchar4 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| uchar4 rsAllocationVLoadX_uchar4 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| uint2 rsAllocationVLoadX_uint2 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| uint2 rsAllocationVLoadX_uint2( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| uint2 rsAllocationVLoadX_uint2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| uint3 rsAllocationVLoadX_uint3 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| uint3 rsAllocationVLoadX_uint3( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| uint3 rsAllocationVLoadX_uint3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| uint4 rsAllocationVLoadX_uint4 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| uint4 rsAllocationVLoadX_uint4 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| uint4 rsAllocationVLoadX_uint4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| ulong2 rsAllocationVLoadX_ulong2 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| ulong2 rsAllocationVLoadX_ulong2 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| ulong2 rsAllocationVLoadX_ulong2 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| ulong3 rsAllocationVLoadX_ulong3 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| ulong3 rsAllocationVLoadX_ulong3 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| ulong3 rsAllocationVLoadX_ulong3 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| ulong4 rsAllocationVLoadX_ulong4 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| ulong4 rsAllocationVLoadX_ulong4 ( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| ulong4 rsAllocationVLoadX_ulong4 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| ushort2 rsAllocationVLoadX_ushort2( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| ushort2 rsAllocationVLoadX_ushort2( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| ushort2 rsAllocationVLoadX_ushort2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| ushort3 rsAllocationVLoadX_ushort3( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| ushort3 rsAllocationVLoadX_ushort3( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| ushort3 rsAllocationVLoadX_ushort3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| ushort4 rsAllocationVLoadX_ushort4 ( rs_allocation a, uint32_t x); | Добавлено на уровне API 22. |
| ushort4 rsAllocationVLoadX_ushort4( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| ushort4 rsAllocationVLoadX_ushort4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
Параметры
| а | Распределение, из которого нужно получить данные. |
|---|---|
| х | Смещение по X в выделении первой ячейки, из которой необходимо скопировать. |
| й | Смещение по оси Y в выделении первой ячейки, из которой необходимо скопировать. |
| я | Смещение по оси Z при выделении первой ячейки, из которой будет выполняться копирование. |
Эта функция возвращает вектор, состоящий из последовательных ячеек распределения. Предполагается, что распределение содержит скаляры.
Буква «X» в названии указывает, что последовательные значения извлекаются путем увеличения индекса X. В настоящее время нет функций для получения последовательных значений, увеличивающих другие измерения. Вместо этого используйте несколько вызовов rsGetElementAt().
Например, при вызове rsAllocationVLoadX_int4(a, 20, 30) возвращается int4, состоящий из a[20, 30], a[21, 30], a[22, 30] и a[23, 30].
При извлечении из трехмерного распределения используйте вариант x, y, z. Аналогично используйте вариант x, y для двумерных распределений и x для одномерных распределений.
В целях эффективности эта функция не проверяет входные данные. Попытка обернуть индекс X, превышение размера выделения или использование индексов, несовместимых с размерностью выделения, приводит к неопределенным результатам.
См. также rsAllocationVStoreX ().
rsAllocationVStoreX : Сохраняет вектор в наборе скаляров.
| void rsAllocationVStoreX_char2 ( rs_allocation a, char2 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_char2 ( rs_allocation a, char2 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_char2 ( rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_char3 ( rs_allocation a, char3 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_char3 ( rs_allocation a, char3 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_char3( rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_char4 ( rs_allocation a, char4 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_char4 ( rs_allocation a, char4 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_char4 ( rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_double2 ( rs_allocation a, double2 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_double2 ( rs_allocation a, double2 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_double2 ( rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_double3 ( rs_allocation a, double3 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_double3 ( rs_allocation a, double3 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_double3 ( rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_double4 ( rs_allocation a, double4 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_double4 ( rs_allocation a, double4 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_double4 ( rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_float2 ( rs_allocation a, float2 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_float2 ( rs_allocation a, float2 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_float2 ( rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_float3 ( rs_allocation a, float3 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_float3 ( rs_allocation a, float3 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_float3 ( rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_float4 ( rs_allocation a, float4 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_float4 ( rs_allocation a, float4 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_float4 ( rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_int2 ( rs_allocation a, int2 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_int2 ( rs_allocation a, int2 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_int2 ( rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_int3 ( rs_allocation a, int3 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_int3 ( rs_allocation a, int3 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_int3( rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_int4 ( rs_allocation a, int4 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_int4 ( rs_allocation a, int4 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_int4 ( rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_long2 ( rs_allocation a, long2 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_long2 ( rs_allocation a, long2 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_long2 ( rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_long3 ( rs_allocation a, long3 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_long3 ( rs_allocation a, long3 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_long3 ( rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_long4 ( rs_allocation a, long4 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_long4 ( rs_allocation a, long4 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_long4 ( rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_short2 ( rs_allocation a, short2 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_short2 ( rs_allocation a, short2 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_short2 ( rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_short3 ( rs_allocation a, short3 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_short3 ( rs_allocation a, short3 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_short3 ( rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_short4 ( rs_allocation a, short4 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_short4 ( rs_allocation a, short4 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_short4 ( rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uchar2 ( rs_allocation a, uchar2 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uchar2 ( rs_allocation a, uchar2 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uchar2 ( rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uchar3 ( rs_allocation a, uchar3 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uchar3 ( rs_allocation a, uchar3 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uchar3 ( rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uchar4 ( rs_allocation a, uchar4 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uchar4 ( rs_allocation a, uchar4 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uchar4 ( rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uint2 ( rs_allocation a, uint2 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uint2 ( rs_allocation a, uint2 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uint2 ( rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uint3 ( rs_allocation a, uint3 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uint3 ( rs_allocation a, uint3 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uint3 ( rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uint4 ( rs_allocation a, uint4 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uint4 ( rs_allocation a, uint4 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_uint4 ( rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ulong2 ( rs_allocation a, ulong2 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ulong2 ( rs_allocation a, ulong2 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ulong2 ( rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ulong3 ( rs_allocation a, ulong3 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ulong3 ( rs_allocation a, ulong3 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ulong3 ( rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ulong4 ( rs_allocation a, ulong4 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ulong4 ( rs_allocation a, ulong4 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ulong4 ( rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ushort2 ( rs_allocation a, ushort2 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ushort2 ( rs_allocation a, ushort2 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ushort2 ( rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ushort3 ( rs_allocation a, ushort3 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ushort3 ( rs_allocation a, ushort3 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ushort3 ( rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ushort4 ( rs_allocation a, ushort4 val, uint32_t x); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ushort4 ( rs_allocation a, ushort4 val, uint32_t x, uint32_t y); | Добавлено на уровне API 22. |
| void rsAllocationVStoreX_ushort4 ( rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 22. |
Параметры
| а | Выделение для хранения данных. |
|---|---|
| вал | Значение, которое необходимо сохранить. |
| х | Смещение X в выделении первой ячейки, в которую нужно скопировать. |
| й | Смещение по оси Y в выделении первой ячейки, в которую необходимо скопировать. |
| я | Смещение по оси Z в выделении первой ячейки, в которую необходимо скопировать. |
Эта функция сохраняет записи вектора в последовательных ячейках распределения. Предполагается, что распределение содержит скаляры.
Буква «X» в названии указывает на то, что последующие значения сохраняются путем увеличения индекса X. В настоящее время нет функций для хранения последовательных значений, увеличивающих другие измерения. Вместо этого используйте несколько вызовов rsSetElementAt().
Например, при вызове rsAllocationVStoreX_int3(a, v, 20, 30) vx сохраняется по адресу a[20, 30], vy по адресу a[21, 30], а vz по адресу a[22, 30].
При сохранении в трехмерном распределении используйте вариант x, y, z. Аналогично используйте вариант x, y для двумерных распределений и x для одномерных распределений.
В целях эффективности эта функция не проверяет входные данные. Попытка обернуть индекс X, превышение размера выделения или использование индексов, несовместимых с размерностью выделения, приводит к неопределенным результатам.
См. также rsAllocationVLoadX ().
rsGetElementAt : возвращает ячейку из выделения.
| char rsGetElementAt_char( rs_allocation a, uint32_t x); | |
| char rsGetElementAt_char( rs_allocation a, uint32_t x, uint32_t y); | |
| char rsGetElementAt_char( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| char2 rsGetElementAt_char2( rs_allocation a, uint32_t x); | |
| char2 rsGetElementAt_char2( rs_allocation a, uint32_t x, uint32_t y); | |
| char2 rsGetElementAt_char2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| char3 rsGetElementAt_char3( rs_allocation a, uint32_t x); | |
| char3 rsGetElementAt_char3( rs_allocation a, uint32_t x, uint32_t y); | |
| char3 rsGetElementAt_char3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| char4 rsGetElementAt_char4( rs_allocation a, uint32_t x); | |
| char4 rsGetElementAt_char4( rs_allocation a, uint32_t x, uint32_t y); | |
| char4 rsGetElementAt_char4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| const void* rsGetElementAt( rs_allocation a, uint32_t x); | |
| const void* rsGetElementAt( rs_allocation a, uint32_t x, uint32_t y); | |
| const void* rsGetElementAt( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| двойной rsGetElementAt_double ( rs_allocation a, uint32_t x); | |
| double rsGetElementAt_double( rs_allocation a, uint32_t x, uint32_t y); | |
| double rsGetElementAt_double( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| double2 rsGetElementAt_double2( rs_allocation a, uint32_t x); | |
| double2 rsGetElementAt_double2( rs_allocation a, uint32_t x, uint32_t y); | |
| double2 rsGetElementAt_double2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| double3 rsGetElementAt_double3( rs_allocation a, uint32_t x); | |
| double3 rsGetElementAt_double3( rs_allocation a, uint32_t x, uint32_t y); | |
| double3 rsGetElementAt_double3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| double4 rsGetElementAt_double4( rs_allocation a, uint32_t x); | |
| double4 rsGetElementAt_double4( rs_allocation a, uint32_t x, uint32_t y); | |
| double4 rsGetElementAt_double4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| float rsGetElementAt_float( rs_allocation a, uint32_t x); | |
| float rsGetElementAt_float( rs_allocation a, uint32_t x, uint32_t y); | |
| float rsGetElementAt_float( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| float2 rsGetElementAt_float2( rs_allocation a, uint32_t x); | |
| float2 rsGetElementAt_float2( rs_allocation a, uint32_t x, uint32_t y); | |
| float2 rsGetElementAt_float2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| float3 rsGetElementAt_float3( rs_allocation a, uint32_t x); | |
| float3 rsGetElementAt_float3( rs_allocation a, uint32_t x, uint32_t y); | |
| float3 rsGetElementAt_float3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| float4 rsGetElementAt_float4( rs_allocation a, uint32_t x); | |
| float4 rsGetElementAt_float4( rs_allocation a, uint32_t x, uint32_t y); | |
| float4 rsGetElementAt_float4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| половина rsGetElementAt_half( rs_allocation a, uint32_t x); | Добавлено на уровне API 23. |
| половина rsGetElementAt_half( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 23. |
| половина rsGetElementAt_half( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 23. |
| half2 rsGetElementAt_half2( rs_allocation a, uint32_t x); | Добавлено на уровне API 23. |
| half2 rsGetElementAt_half2( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 23. |
| half2 rsGetElementAt_half2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 23. |
| half3 rsGetElementAt_half3( rs_allocation a, uint32_t x); | Добавлено на уровне API 23. |
| half3 rsGetElementAt_half3( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 23. |
| half3 rsGetElementAt_half3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 23. |
| half4 rsGetElementAt_half4( rs_allocation a, uint32_t x); | Добавлено на уровне API 23. |
| half4 rsGetElementAt_half4( rs_allocation a, uint32_t x, uint32_t y); | Добавлено на уровне API 23. |
| half4 rsGetElementAt_half4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Добавлено на уровне API 23. |
| int rsGetElementAt_int( rs_allocation a, uint32_t x); | |
| int rsGetElementAt_int( rs_allocation a, uint32_t x, uint32_t y); | |
| int rsGetElementAt_int( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| int2 rsGetElementAt_int2( rs_allocation a, uint32_t x); | |
| int2 rsGetElementAt_int2( rs_allocation a, uint32_t x, uint32_t y); | |
| int2 rsGetElementAt_int2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| int3 rsGetElementAt_int3( rs_allocation a, uint32_t x); | |
| int3 rsGetElementAt_int3( rs_allocation a, uint32_t x, uint32_t y); | |
| int3 rsGetElementAt_int3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| int4 rsGetElementAt_int4( rs_allocation a, uint32_t x); | |
| int4 rsGetElementAt_int4( rs_allocation a, uint32_t x, uint32_t y); | |
| int4 rsGetElementAt_int4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| long rsGetElementAt_long( rs_allocation a, uint32_t x); | |
| long rsGetElementAt_long( rs_allocation a, uint32_t x, uint32_t y); | |
| long rsGetElementAt_long( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| long2 rsGetElementAt_long2( rs_allocation a, uint32_t x); | |
| long2 rsGetElementAt_long2( rs_allocation a, uint32_t x, uint32_t y); | |
| long2 rsGetElementAt_long2( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| long3 rsGetElementAt_long3( rs_allocation a, uint32_t x); | |
| long3 rsGetElementAt_long3( rs_allocation a, uint32_t x, uint32_t y); | |
| long3 rsGetElementAt_long3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| long4 rsGetElementAt_long4( rs_allocation a, uint32_t x); | |
| long4 rsGetElementAt_long4( rs_allocation a, uint32_t x, uint32_t y); | |
| long4 rsGetElementAt_long4( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| short rsGetElementAt_short( rs_allocation a, uint32_t x); | |
| short rsGetElementAt_short( rs_allocation a, uint32_t x, uint32_t y); | |
| short rsGetElementAt_short( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| short2 rsGetElementAt_short2( rs_allocation a, uint32_t x); | |
| short2 rsGetElementAt_short2 ( rs_allocation a, uint32_t x, uint32_t y); | |
| short2 rsGetElementAt_short2 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| short3 rsGetElementAt_short3( rs_allocation a, uint32_t x); | |
| short3 rsGetElementAt_short3( rs_allocation a, uint32_t x, uint32_t y); | |
| short3 rsGetElementAt_short3( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| short4 rsGetElementAt_short4( rs_allocation a, uint32_t x); | |
| short4 rsgetElementat_short4 ( rs_allocation a, uint32_t x, uint32_t y); | |
| short4 rsgetElementat_short4 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| uchar rsgetelementat_uchar ( rs_allocation a, uint32_t x); | |
| uchar rsgetelementat_uchar ( rs_allocation a, uint32_t x, uint32_t y); | |
| uchar rsgetelementat_uchar ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| uchar2 rsgetelementat_uchar2 ( rs_allocation a, uint32_t x); | |
| uchar2 rsgetelementat_uchar2 ( rs_allocation a, uint32_t x, uint32_t y); | |
| uchar2 rsgetElementat_uchar2 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| uchar3 rsgetelementat_uchar3 ( rs_allocation a, uint32_t x); | |
| uchar3 rsgetelementat_uchar3 ( rs_allocation a, uint32_t x, uint32_t y); | |
| uchar3 rsgetelementat_uchar3 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| uchar4 rsgetElementat_uchar4 ( rs_allocation a, uint32_t x); | |
| uchar4 rsgetElementat_uchar4 ( rs_allocation a, uint32_t x, uint32_t y); | |
| UCHAR4 rsgetElementat_uchar4 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| uint rsgetElementat_uint ( rs_allocation a, uint32_t x); | |
| uint rsgetElementat_uint ( rs_allocation a, uint32_t x, uint32_t y); | |
| uint rsgetElementat_uint ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| uint2 rsgetelementat_uint2 ( rs_allocation a, uint32_t x); | |
| uint2 rsgetelementat_uint2 ( rs_allocation a, uint32_t x, uint32_t y); | |
| uint2 rsgetElementat_uint2 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| uint3 rsgetElementat_uint3 ( rs_allocation a, uint32_t x); | |
| uint3 rsgetelementat_uint3 ( rs_allocation a, uint32_t x, uint32_t y); | |
| uint3 rsgetElementat_uint3 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| uint4 rsgetelementat_uint4 ( rs_allocation a, uint32_t x); | |
| uint4 rsgetElementat_uint4 ( rs_allocation a, uint32_t x, uint32_t y); | |
| uint4 rsgetElementat_uint4 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| ulong rsgetelementat_ulong ( rs_allocation a, uint32_t x); | |
| ulong rsgetelementat_ulong ( rs_allocation a, uint32_t x, uint32_t y); | |
| ulong rsgetelementat_ulong ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| ulong2 rsgetelementat_ulong2 ( rs_allocation a, uint32_t x); | |
| ulong2 rsgetelementat_ulong2 ( rs_allocation a, uint32_t x, uint32_t y); | |
| ulong2 rsgetelementat_ulong2 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| ulong3 rsgetelementat_ulong3 ( rs_allocation a, uint32_t x); | |
| ulong3 rsgetelementat_ulong3 ( rs_allocation a, uint32_t x, uint32_t y); | |
| ulong3 rsgetelementat_ulong3 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| ulong4 rsgetelementat_ulong4 ( rs_allocation a, uint32_t x); | |
| ulong4 rsgetelementat_ulong4 ( rs_allocation a, uint32_t x, uint32_t y); | |
| ulong4 rsgetelementat_ulong4 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| ushort rsgetelementat_ushort ( rs_allocation a, uint32_t x); | |
| ushort rsgetelementat_ushort ( rs_allocation a, uint32_t x, uint32_t y); | |
| ushort rsgetelementat_ushort ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| ushort2 rsgetelementat_ushort2 ( rs_allocation a, uint32_t x); | |
| ushort2 rsgetelementat_ushort2 ( rs_allocation a, uint32_t x, uint32_t y); | |
| ushort2 rsgetElementat_ushort2 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| ushort3 rsgetelementat_ushort3 ( rs_allocation a, uint32_t x); | |
| ushort3 rsgetelementat_ushort3 ( rs_allocation a, uint32_t x, uint32_t y); | |
| ushort3 rsgetelementat_ushort3 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
| ushort4 rsgetElementat_ushort4 ( rs_allocation a, uint32_t x); | |
| ushort4 rsgetElementat_ushort4 ( rs_allocation a, uint32_t x, uint32_t y); | |
| ushort4 rsgetElementat_ushort4 ( rs_allocation a, uint32_t x, uint32_t y, uint32_t z); |
Эта функция извлекает одну ячейку из распределения.
При извлечении из трехмерных распределений используйте вариант x, y, z. Точно так же используйте вариант x, y для двухмерных распределений и x для моно -размерных распределений.
Эта функция имеет два стиля. Один возвращает адрес значения, используя void*, другой возвращает фактическое значение, например, rsgetElementat () против rsgetElementat_int4 (). Для примитивных типов всегда используйте последнее, поскольку это более эффективно.
rsgetElementatyuv_uchar_u : получить U -компонент распределения YUVS
| uchar rsgetelementatyuv_uchar_u ( rs_allocation a, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
Извлекает U -компонент одного значения YUV из 2D -распределения YUV.
Внутри распределения компоненты Y, U и V могут храниться, если разные плоскости и в разных разрешениях. Координаты X, Y, представленные здесь, находятся в размерах плоскости Y.
См. RsgetElementatyuv_uchar_y ().
rsgetElementatyuv_uchar_v : получить V -компонент распределения YUV.
| uchar rsgetelementatyuv_uchar_v ( rs_allocation a, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
Извлекает V -компонент одного значения YUV из 2D -распределения YUV.
Внутри распределения компоненты Y, U и V могут храниться, если разные плоскости и в разных разрешениях. Координаты X, Y, представленные здесь, находятся в размерах плоскости Y.
См. RsgetElementatyuv_uchar_y ().
rsgetElementatyuv_uchar_y : Получить y компонент распределения Yuvs
| uchar rsgetelementatyuv_uchar_y ( rs_allocation a, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
Извлекает компонент y одного значения YUV из 2D -распределения YUV.
Внутри распределения компоненты Y, U и V могут храниться, если разные плоскости и в разных разрешениях. Координаты X, Y, представленные здесь, находятся в размерах плоскости Y.
См. RsgetElementatyuv_uchar_u () и rsgetElementatyuv_uchar_v ().
RSSAMPLE : Образец значения из распределения текстуры
| Float4 RSSAMER ( RS_ALLOCEACE A, RS_SAMPLER S, местоположение поплавка); | Добавлено на уровне API 16. |
| Float4 RSSAMER ( RS_LALOCEACE A, RS_SAMPLER S, местоположение Float, Float LOD); | Добавлено на уровне API 16. |
| Float4 RSSAMER ( RS_LALOCEACE A, RS_SAMPLER S, местоположение Float2 ); | Добавлено на уровне API 16. |
| float4 RSSAMER ( RS_LALOCECOCE A, RS_SAMPLER S, местоположение Float2 , Float LOD); | Добавлено на уровне API 16. |
Параметры
| а | Распределение на выборку из. |
|---|---|
| с | Государство сэмплера. |
| расположение | Расположение для образца от. |
| Лод | Уровень MIP для выборки из, для дробных значений уровни MIP будут интерполированы, если используется rs_sampler_lineear_mip_lineear. |
Получает значение из распределения текстуры, которое описано сэмплером.
Если ваше распределение составляет 1D, используйте вариант с Float для местоположения. Для 2D используйте вариант float2.
См. Android.renderscript.sampler для получения более подробной информации.
rssetElementat : установите ячейку распределения
| void rssetElementat ( rs_allocation a, void* ptr, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat ( rs_allocation a, void* ptr, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_char ( rs_allocation a, char val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_char ( rs_allocation a, char val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_char ( rs_allocation a, char val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_char2 ( rs_allocation a, char2 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_char2 ( rs_allocation a, char2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_char2 ( rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_char3 ( rs_allocation a, char3 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_char3 ( rs_allocation a, char3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_char3 ( rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_char4 ( rs_allocation a, char4 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_char4 ( rs_allocation a, char4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_char4 ( rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_double ( rs_allocation a, double val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_double ( rs_allocation a, double val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_double ( rs_allocation a, double val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_double2 ( rs_allocation a, double2 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_double2 ( rs_allocation a, double2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_double2 ( rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_double3 ( rs_allocation a, double3 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_double3 ( rs_allocation a, double3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_double3 ( rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_double4 ( rs_allocation a, double4 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_double4 ( rs_allocation a, double4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_double4 ( rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_float ( rs_allocation a, float val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_float ( rs_allocation a, float val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_float ( rs_allocation a, float val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_float2 ( rs_allocation a, float2 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_float2 ( rs_allocation a, float2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_float2 ( rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_float3 ( rs_allocation a, float3 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_float3 ( rs_allocation a, float3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_float3 ( rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_float4 ( rs_allocation a, float4 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_float4 ( rs_allocation a, float4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_float4 ( rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_half ( rs_allocation a, половина val, uint32_t x); | Добавлен на уровне API 23 |
| void rssetElementat_half ( rs_allocation a, половина val, uint32_t x, uint32_t y); | Добавлен на уровне API 23 |
| void rssetElementat_half ( rs_allocation a, половина val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 23 |
| void rssetelementat_half2 ( rs_allocation a, laf2 val, uint32_t x); | Добавлен на уровне API 23 |
| void rssetElementat_half2 ( rs_allocation a, laf2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 23 |
| void rssetElementat_half2 ( rs_allocation a, laf2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 23 |
| void rssetElementat_half3 ( rs_allocation a, laf3 val, uint32_t x); | Добавлен на уровне API 23 |
| void rssetElementat_half3 ( rs_allocation a, laf3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 23 |
| void rssetElementat_half3 ( rs_allocation a, laf3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 23 |
| void rssetElementat_half4 ( rs_allocation a, laf4 val, uint32_t x); | Добавлен на уровне API 23 |
| void rssetElementat_half4 ( rs_allocation a, laf4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 23 |
| void rssetElementat_half4 ( rs_allocation a, laf4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 23 |
| void rssetElementat_int ( rs_allocation a, int val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_int ( rs_allocation a, int val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_int ( rs_allocation a, int val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_int2 ( rs_allocation a, int2 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_int2 ( rs_allocation a, int2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_int2 ( rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_int3 ( rs_allocation a, int3 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_int3 ( rs_allocation a, int3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_int3 ( rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_int4 ( rs_allocation a, int4 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_int4 ( rs_allocation a, int4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_int4 ( rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_long ( rs_allocation a, long val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_long ( rs_allocation a, long val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_long ( rs_allocation a, long val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_long2 ( rs_allocation a, long2 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_long2 ( rs_allocation a, long2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_long2 ( rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_long3 ( rs_allocation a, long3 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_long3 ( rs_allocation a, long3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_long3 ( rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_long4 ( rs_allocation a, long4 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_long4 ( rs_allocation a, long4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_long4 ( rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetelementat_short ( rs_allocation a, short val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_short ( rs_allocation a, short val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_short ( rs_allocation a, short val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_short2 ( rs_allocation a, short2 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_short2 ( rs_allocation a, short2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_short2 ( rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_short3 ( rs_allocation a, short3 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_short3 ( rs_allocation a, short3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_short3 ( rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_short4 ( rs_allocation a, short4 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_short4 ( rs_allocation a, short4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_short4 ( rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_uchar ( rs_allocation a, uchar val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_uchar ( rs_allocation a, uchar val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_uchar ( rs_allocation a, uchar val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_uchar2 ( rs_allocation a, uchar2 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_uchar2 ( rs_allocation a, uchar2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_uchar2 ( rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_uchar3 ( rs_allocation a, uchar3 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_uchar3 ( rs_allocation a, uchar3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_uchar3 ( rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_uchar4 ( rs_allocation a, uchar4 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_uchar4 ( rs_allocation a, uchar4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_uchar4 ( rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_uint ( rs_allocation a, uint val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_uint ( rs_allocation a, uint val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_uint ( rs_allocation a, uint val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_uint2 ( rs_allocation a, uint2 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_uint2 ( rs_allocation a, uint2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_uint2 ( rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_uint3 ( rs_allocation a, uint3 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_uint3 ( rs_allocation a, uint3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_uint3 ( rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_uint4 ( rs_allocation a, uint4 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_uint4 ( rs_allocation a, uint4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_uint4 ( rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_ulong ( rs_allocation a, ulong val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_ulong ( rs_allocation a, ulong val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_ulong ( rs_allocation a, ulong val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_ulong2 ( rs_allocation a, ulong2 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_ulong2 ( rs_allocation a, ulong2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_ulong2 ( rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_ulong3 ( rs_allocation a, ulong3 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_ulong3 ( rs_allocation a, ulong3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_ulong3 ( rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_ulong4 ( rs_allocation a, ulong4 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_ulong4 ( rs_allocation a, ulong4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_ulong4 ( rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_ushort ( rs_allocation a, ushort val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_ushort ( rs_allocation a, ushort val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_ushort ( rs_allocation a, ushort val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_ushort2 ( rs_allocation a, ushort2 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_ushort2 ( rs_allocation a, ushort2 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_ushort2 ( rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_ushort3 ( rs_allocation a, ushort3 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_ushort3 ( rs_allocation a, ushort3 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_ushort3 ( rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
| void rssetElementat_ushort4 ( rs_allocation a, ushort4 val, uint32_t x); | Добавлен на уровне API 18 |
| void rssetElementat_ushort4 ( rs_allocation a, ushort4 val, uint32_t x, uint32_t y); | Добавлен на уровне API 18 |
| void rssetElementat_ushort4 ( rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); | Добавлен на уровне API 18 |
Эта функция хранит значение в одну ячейку распределения.
При хранении в трехмерных распределениях используйте вариант x, y, z. Точно так же используйте вариант x, y для двухмерных распределений и x для моно -размерных распределений.
Эта функция имеет два стиля. Один из них передает значение, которое будет сохранено, используя void*, другой имеет фактическое значение в качестве аргумента, например, rssetElementat () против rssetElementat_int4 (). Для примитивных типов всегда используйте последнее, поскольку это более эффективно.
См. Также rsgetElementat ().