Funções de acesso a dados de alocação do RenderScript

Visão geral

As funções abaixo podem ser usadas para receber e definir as células que compõem uma alocação.

  • As células individuais são acessadas usando as funções rsGetElementAt* e rsSetElementAt.
  • Várias células podem ser copiadas usando as funções rsAllocationCopy* e rsAllocationV*.
  • Para receber valores por meio de um sampler, use rsSample.
As funções rsGetElementAt e rsSetElement* têm um nome incorreto. Elas não recebem ou definem elementos, o que é semelhante aos tipos de dados. Eles recebem ou definem células. Pense nelas como rsGetCellAt e rsSetCellAt.

Resumo

Funções
rsAllocationCopy1DRange. Copiar células consecutivas entre alocações
rsAllocationCopy2DRange. Copiar uma região retangular de células entre alocações
rsAllocationVLoadX (link em inglês) Encontrar um vetor de uma alocação de escalares
rsAllocationVStoreX (link em inglês) Armazenar um vetor em uma alocação de escalares
rsGetElementAt (link em inglês) Retornar uma célula de uma alocação
rsGetElementAtYuv_uchar_U (em inglês) Acessar o componente U de uma alocação de YUVs
rsGetElementAtYuv_uchar_V (link em inglês) Acessar o componente V de uma alocação de YUVs
rsGetElementAtYuv_uchar_Y (em inglês) Encontrar o componente Y de uma alocação de YUVs
rsSample (link em inglês) Testar um valor de uma alocação de textura
rsSetElementAt (link em inglês) Definir uma célula de uma alocação

Funções

rsAllocationCopy1DRange : copia células consecutivas entre alocações

void rsAllocationCopy1DRange(rs_allocation dstAlloc, uint32_t dstOff, uint32_t dstMip, uint32_t contagem, rs_allocation srcAlloc, uint32_t srcOff, uint32_t, uint32_t Adicionado no nível 14 da API.
Parâmetros
dstAlloc.Alocação para copiar células.
dstOffDeslocamento no destino da primeira célula a ser copiada.
dstMipNível de Mip na alocação de destino. 0 se o mapeamento mip não for usado.
contagemNúmero de células a serem copiadas.
srcAllocAlocação de origem.
srcOffDeslocamento na origem da primeira célula a ser copiada.
srcMipNível de Mip na alocação de origem. 0 se o mapeamento mip não for usado.

Copia o número especificado de células de uma alocação para outra.

É preciso que as duas alocações sejam diferentes. O uso dessa função para copiar dentro da mesma alocação gera resultados indefinidos.

A função não valida se a contagem de deslocamento mais excede o tamanho de qualquer alocação. Se cuida.

Essa função só deve ser chamada entre alocações 1D. Não é possível chamá-lo em outras alocações.

Essa função não deve ser chamada de dentro de um kernel ou de qualquer função que possa ser chamada direta ou indiretamente de um kernel. Isso causaria um erro no momento da execução.

rsAllocationCopy2DRange : copia uma região retangular de células entre alocações

{utu Adicionado no nível 14 da API.
Parâmetros
dstAlloc.Alocação para copiar células.
dstXoffDeslocamento X no destino da região a ser definida.
dstYoffDeslocamento Y no destino da região a ser definida.
dstMipNível de Mip na alocação de destino. 0 se o mapeamento mip não for usado.
dstFaceFace do cubo da alocação de destino. Ignorado para alocações que não são cubemaps.
larguraLargura da região de entrada a ser atualizada.
alturaAltura da região de entrada a ser atualizada.
srcAllocAlocação de origem.
srcXoffDeslocamento X na origem.
srcYoffCompensação de Y na origem.
srcMipNível de Mip na alocação de origem. 0 se o mapeamento mip não for usado.
srcFaceFace do cubo da alocação de origem. Ignorado para alocações que não são cubemaps.

Copia uma região retangular de células de uma alocação para outra. (largura * altura) são copiadas.

É preciso que as duas alocações sejam diferentes. O uso dessa função para copiar dentro da mesma alocação gera resultados indefinidos.

A função não valida se a região de origem ou de destino excede o tamanho da respectiva alocação. Se cuida.

A função só deve ser chamada entre alocações 2D. Não é possível chamá-lo em outras alocações.

Essa função não deve ser chamada de dentro de um kernel ou de qualquer função que possa ser chamada direta ou indiretamente de um kernel. Isso causaria um erro no momento da execução.

rsAllocationVLoadX : receber um vetor de uma alocação de escalares

char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
double2 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
double3 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
double4 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
double4 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
double4 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x); Adicionado no nível 22 da API.
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
Parâmetros
aAlocação de onde receber os dados.
xDeslocamento X na alocação da primeira célula a ser copiada.
yDeslocamento Y na alocação da primeira célula a ser copiada.
zDeslocamento Z na alocação da primeira célula a ser copiada.

Essa função retorna um vetor composto por células sucessivas da alocação. Ele pressupõe que a alocação contenha escalares.

O "X" no nome indica que valores sucessivos são extraídos ao aumentar o índice X. Atualmente, não há funções para conseguir valores sucessivos incrementando outras dimensões. Em vez disso, use várias chamadas para rsGetElementAt().

Por exemplo, ao chamar rsAllocationVLoadX_int4(a, 20, 30), um int4 composto por a[20, 30], a[21, 30], a[22, 30] e a[23, 30] é retornado.

Ao recuperar alocações tridimensionais, use a variante x, y, z. Da mesma forma, use a variante x, y para alocações bidimensionais e x para alocações monodimensionais.

Para fins de eficiência, essa função não valida as entradas. Tentar unir o índice X, exceder o tamanho da alocação ou usar índices incompatíveis com a dimensionalidade da alocação gera resultados indefinidos.

Veja também rsAllocationVStoreX().

rsAllocationVStoreX : armazena um vetor em uma alocação de escalares

void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); Adicionado no nível 22 da API.
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 22 da API.
Parâmetros
aAlocação para armazenar os dados.
valValor a ser armazenado.
xDeslocamento X na alocação da primeira célula a ser copiada.
yDeslocamento Y na alocação da primeira célula a ser copiada.
zDeslocamento Z na alocação da primeira célula a ser copiada.

Essa função armazena as entradas de um vetor em células sucessivas de uma alocação. Ele pressupõe que a alocação contenha escalares.

O "X" no nome indica que valores sucessivos são armazenados aumentando o índice X. No momento, não há funções para armazenar valores sucessivos que incrementam outras dimensões. Em vez disso, use várias chamadas para rsSetElementAt().

Por exemplo, ao chamar rsAllocationVStoreX_int3(a, v, 20, 30), v.x é armazenada em a[20, 30], v.y em a[21, 30] e v.z em a[22, 30].

Ao armazenar em alocações tridimensionais, use a variante x, y, z. Da mesma forma, use a variante x, y para alocações bidimensionais e x para alocações monodimensionais.

Para fins de eficiência, essa função não valida as entradas. Tentar unir o índice X, exceder o tamanho da alocação ou usar índices incompatíveis com a dimensionalidade da alocação gera resultados indefinidos.

Veja também rsAllocationVLoadX().

rsGetElementAt : retorna uma célula de uma alocação

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);
double 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);
half rsGetElementAt_half(rs_allocation a, uint32_t x); Adicionado no nível 23 da API.
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 23 da API.
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 23 da API.
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x); Adicionado no nível 23 da API.
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 23 da API.
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 23 da API.
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x); Adicionado no nível 23 da API.
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 23 da API.
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 23 da API.
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x); Adicionado no nível 23 da API.
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 23 da API.
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 23 da API.
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);

Essa função extrai uma única célula de uma alocação.

Ao recuperar alocações tridimensionais, use a variante x, y, z. Da mesma forma, use a variante x, y para alocações bidimensionais e x para alocações monodimensionais.

Essa função tem dois estilos. Um retorna o endereço do valor usando um valor nulo*, o outro retorna o valor real, por exemplo, rsGetElementAt() versus rsGetElementAt_int4(). Para tipos primitivos, use sempre o último, porque ele é mais eficiente.

rsGetElementAtYuv_uchar_U : recebe o componente U de uma alocação de YUVs

uchar rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 18 da API.

Extrai o componente U de um único valor YUV de uma alocação 2D de YUVs.

Dentro de uma alocação, os componentes Y, U e V podem ser armazenados se planos diferentes e resoluções diferentes. As coordenadas x, y fornecidas aqui estão nas dimensões do plano Y.

Consulte rsGetElementAtYuv_uchar_Y().

rsGetElementAtYuv_uchar_V : recebe o componente V de uma alocação de YUVs

uchar rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 18 da API.

Extrai o componente V de um único valor de YUV de uma alocação 2D de YUVs.

Dentro de uma alocação, os componentes Y, U e V podem ser armazenados se planos diferentes e resoluções diferentes. As coordenadas x, y fornecidas aqui estão nas dimensões do plano Y.

Consulte rsGetElementAtYuv_uchar_Y().

rsGetElementAtYuv_uchar_Y : recebe o componente Y de uma alocação de YUVs.

uchar rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y); Adicionado no nível 18 da API.

Extrai o componente Y de um único valor de YUV de uma alocação 2D de YUVs.

Dentro de uma alocação, os componentes Y, U e V podem ser armazenados se planos diferentes e resoluções diferentes. As coordenadas x, y fornecidas aqui estão nas dimensões do plano Y.

Consulte rsGetElementAtYuv_uchar_U() e rsGetElementAtYuv_uchar_V().

rsSample : cria uma amostragem de um valor de uma alocação de textura

float4 rsSample(rs_allocation a, rs_sampler s, local flutuante); Adicionado no nível 16 da API.
float4 rsSample(rs_allocation a, rs_sampler s, float location, float lod); Adicionado no nível 16 da API.
float4 rsSample(rs_allocation a, rs_sampler s, local float2); Adicionado no nível 16 da API.
float4 rsSample(rs_allocation a, rs_sampler s, local float2, float lod); Adicionado no nível 16 da API.
Parâmetros
aAlocação de origem da amostragem.
sEstado do Sampler.
localLocal de origem da amostra.
LodNível de Mip de onde a amostragem será feita, para valores fracionários, os níveis de mip serão interpolados se RS_SAMPLER_LINEAR_MIP_LINEAR for usado.

Busca um valor de uma alocação de textura da forma descrita pelo sampler.

Se a alocação for 1D, use a variante com ponto flutuante para o local. Para 2D, use a variante float2.

Consulte android.renderscript.Sampler para saber mais.

rsSetElementAt : define a célula de uma alocação

void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x); Adicionado no nível 23 da API.
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y); Adicionado no nível 23 da API.
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 23 da API.
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x); Adicionado no nível 23 da API.
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y); Adicionado no nível 23 da API.
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 23 da API.
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x); Adicionado no nível 23 da API.
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y); Adicionado no nível 23 da API.
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 23 da API.
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x); Adicionado no nível 23 da API.
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y); Adicionado no nível 23 da API.
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 23 da API.
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x); Adicionado no nível 18 da API.
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); Adicionado no nível 18 da API.
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); Adicionado no nível 18 da API.

Essa função armazena um valor em uma única célula de uma alocação.

Ao armazenar em alocações tridimensionais, use a variante x, y, z. Da mesma forma, use a variante x, y para alocações bidimensionais e x para alocações monodimensionais.

Essa função tem dois estilos. Um transmite o valor a ser armazenado usando um void*, o outro tem o valor real como argumento, por exemplo, rsSetElementAt() versus rsSetElementAt_int4(). Para tipos primitivos, use sempre o último, porque ele é mais eficiente.

Veja também rsGetElementAt().