Обзор
Приведенные ниже функции можно использовать для получения и установки ячеек, составляющих выделение.
- Доступ к отдельным ячейкам осуществляется с помощью функций 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 ().