Panoramica
Le funzioni seguenti possono essere utilizzate per recuperare e impostare le celle che compongono un'allocazione.
- Puoi accedere alle singole celle utilizzando le funzioni rsGetElementAt* e rsSetElementAt.
- Puoi copiare più celle con le funzioni rsAllocationCopy* e rsAllocationV*.
- Per ottenere valori tramite un Sampler, utilizza rsSample.
Riepilogo
Funzioni | |
---|---|
rsAllocationCopy1DRange | Copia celle consecutive tra le allocazioni |
rsAllocationCopy2DRange | Copia una regione rettangolare di celle tra le allocazioni |
rsAllocationVLoadX | Ottieni un vettore da un'allocazione di scalari |
rsAllocationVStoreX | Archiviare un vettore in un'allocazione di scalari |
rsGetElementAt | Restituire una cella da un'allocazione |
rsGetElementAtYuv_uchar_U | Ottieni il componente U di un'allocazione di YUV |
rsGetElementAtYuv_uchar_V | Ottieni il componente V di un'allocazione di YUV |
rsGetElementAtYuv_uchar_Y | Ottieni il componente Y di un'allocazione di YUV |
rsSample | Campiona un valore da un'allocazione delle texture |
rsSetElementAt | Imposta una cella di un'allocazione |
Funzioni
rsAllocationCopy1DRange : copia celle consecutive tra le allocazioni
void rsAllocationCopy1DRange(rs_allocation dstAlloc, uint32_t dstOff, uint32_t dstMip, uint32_t conteggio, rs_allocation srcAlloc, uint32_t srcOff, uint32_t{/p); | Aggiunto al livello API 14 |
Parametri
DstAlloc | Allocazione in cui copiare le celle. |
---|---|
dstOff | Offset nella destinazione della prima cella da copiare. |
Mip | Livello Mip nell'allocazione della destinazione. 0 se non viene utilizzata la mappatura mip. |
numero | Numero di celle da copiare. |
srcAlloc | Allocazione di origine. |
srcOff | Offset nell'origine della prima cella da copiare. |
srcMip | Livello Mip nell'allocazione di origine. 0 se non viene utilizzata la mappatura mip. |
Copia il numero specificato di celle da un'allocazione a un'altra.
Le due allocazioni devono essere diverse. L'uso di questa funzione per copiare all'interno della stessa allocazione produce risultati indefiniti.
La funzione non convalida se il valore di offset più il conteggio supera le dimensioni di entrambe le allocazioni. Fai attenzione:
Questa funzione deve essere chiamata solo tra allocazioni 1D. Non è possibile definire la funzione per altre allocazioni.
Questa funzione non dovrebbe essere chiamata dall'interno di un kernel o da qualsiasi funzione che può essere chiamata direttamente o indirettamente da un kernel. Ciò causerebbe un errore di runtime.
rsAllocationCopy2DRange : copia una regione rettangolare di celle tra le allocazioni
void rsAllocationCopy2DRange(rs_allocation dstAlloc, uint32_t dstXoff, uint32_t dstYoff, uint32_t dstMip, rs_allocation_cubemap_face dstface1, uint32_tlarghezza, uint32_t | Aggiunto al livello API 14 |
Parametri
DstAlloc | Allocazione in cui copiare le celle. |
---|---|
dstXoff | Offset X nella destinazione della regione da impostare. |
DstYoff | Offset Y nella destinazione della regione da impostare. |
Mip | Livello Mip nell'allocazione della destinazione. 0 se non viene utilizzata la mappatura mip. |
Logo facciale | Faccia mappa cubi dell'allocazione di destinazione. Ignorato per le allocazioni che non sono mappe cubiche. |
width | Larghezza della regione in arrivo da aggiornare. |
altezza | Altezza della regione in arrivo da aggiornare. |
srcAlloc | Allocazione di origine. |
srcXoff | Offset X nell'origine. |
srcYoff | Offset Y nell'origine. |
srcMip | Livello Mip nell'allocazione di origine. 0 se non viene utilizzata la mappatura mip. |
srcFace | Faccia mappa cubi dell'allocazione di origine. Ignorato per le allocazioni che non sono mappe cubiche. |
Copia una regione rettangolare di celle da un'allocazione all'altra. (larghezza * altezza) vengono copiate.
Le due allocazioni devono essere diverse. L'uso di questa funzione per copiare all'interno della stessa allocazione produce risultati indefiniti.
La funzione non convalida se la regione di origine o di destinazione supera le dimensioni della rispettiva allocazione. Fai attenzione:
Questa funzione deve essere chiamata solo tra allocazioni 2D. Non è possibile definire la funzione per altre allocazioni.
Questa funzione non dovrebbe essere chiamata dall'interno di un kernel o da qualsiasi funzione che può essere chiamata direttamente o indirettamente da un kernel. Ciò causerebbe un errore di runtime.
rsAllocationVLoadX : ottieni un vettore da un'allocazione di valori scalari
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
char2 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
char3 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
char4 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
Double2 rsAllocationVLoadX_DOUBLE2(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
Double2 rsAllocationVLoadX_DOUBLE2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
Double2 rsAllocationVLoadX_Double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
Double3 rsAllocationVLoadX_DOUBLE3(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
Double3 rsAllocationVLoadX_DOUBLE3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
Double3 rsAllocationVLoadX_DOUBLE3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
Double4 rsAllocationVLoadX_DOUBLE4(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
Double4 rsAllocationVLoadX_Double4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
Double4 rsAllocationVLoadX_DOUBLE4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
float2 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
float3 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
float4 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
int2 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
int3 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
int4 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
long2 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
long3 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
long4 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
short2 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
short3 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
short4 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
uchar2 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
uchar3 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
uchar4 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
uint2 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
uint3 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
uint4 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
ulong2 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
ulong3 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
ulong4 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
ushort2 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
ushort3 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x); | Aggiunto al livello API 22 |
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
ushort4 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
Parametri
a | l'allocazione da cui ottenere i dati. |
---|---|
x | Offset X nell'allocazione della prima cella da cui eseguire la copia. |
y | Offset Y nell'allocazione della prima cella da cui eseguire la copia. |
z | Offset Z nell'allocazione della prima cella da cui eseguire la copia. |
Questa funzione restituisce un vettore composto da celle successive dell'allocazione. Presuppone che l'allocazione contenga valori scalari.
La "X" nel nome indica che i valori successivi vengono estratti aumentando l'indice X. Al momento non ci sono funzioni per ottenere valori successivi che incrementano altre dimensioni. Usa invece più chiamate a rsGetElementAt().
Ad esempio, quando chiami rsAllocationVLoadX_int4(a, 20, 30), viene restituito un int4 composto da a[20, 30], a[21, 30], a[22, 30] e a[23, 30].
Quando recuperi le allocazioni tridimensionali, utilizza le varianti x, y, z. Analogamente, utilizza le varianti x, y per le allocazioni bidimensionali e x per le allocazioni monodimensionali.
Per migliorare l'efficienza, questa funzione non convalida gli input. Il tentativo di aggregare l'indice X, il superamento della dimensione dell'allocazione o l'utilizzo di indici incompatibili con la dimensionalità dell'allocazione produce risultati indefiniti.
Vedi anche rsAllocationVStoreX().
rsAllocationVStoreX : memorizza un vettore in un'allocazione di valori scalari
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_DOUBLE2(rs_allocation a, Double2 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ double2(rs_allocation a, Double2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_DOUBLE2(rs_allocation a, Double2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_Double3(rs_allocation a, Double3 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_DOUBLE3(rs_allocation a, Double3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_Double3(rs_allocation a, Double3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_Double4(rs_allocation a, Double4 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_DOUBLE4(rs_allocation a, Double4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_DOUBLE4(rs_allocation a, Double4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 22 |
void rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 22 |
Parametri
a | Allocazione in cui archiviare i dati. |
---|---|
val | Valore da memorizzare. |
x | Offset X nell'allocazione della prima cella in cui deve essere copiato. |
y | Offset Y nell'allocazione della prima cella da copiare. |
z | Offset Z nell'allocazione della prima cella da copiare. |
Questa funzione memorizza le voci di un vettore in celle successive di un'allocazione. Presuppone che l'allocazione contenga valori scalari.
La "X" nel nome indica che i valori successivi vengono memorizzati aumentando l'indice X. Al momento non ci sono funzioni per memorizzare valori successivi che incrementano altre dimensioni. Utilizza invece più chiamate a rsSetElementAt().
Ad esempio, quando chiami rsAllocationVStoreX_int3(a, v, 20, 30), v.x viene archiviata in a[20, 30], v.y in a[21, 30] e v.z in a[22, 30].
Quando memorizzi in allocazioni tridimensionali, utilizza le varianti x, y, z. Analogamente, utilizza le varianti x, y per le allocazioni bidimensionali e x per le allocazioni monodimensionali.
Per migliorare l'efficienza, questa funzione non convalida gli input. Il tentativo di aggregare l'indice X, il superamento della dimensione dell'allocazione o l'utilizzo di indici incompatibili con la dimensionalità dell'allocazione genera risultati non definiti.
Vedi anche rsAllocationVLoadX().
rsGetElementAt : restituisce una cella da un'allocazione
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); | |
doppio3 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); | Aggiunto al livello API 23 |
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 23 |
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 23 |
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x); | Aggiunto al livello API 23 |
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 23 |
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 23 |
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x); | Aggiunto al livello API 23 |
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 23 |
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 23 |
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x); | Aggiunto al livello API 23 |
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 23 |
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello 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); |
Questa funzione estrae una singola cella da un'allocazione.
Quando recuperi le allocazioni tridimensionali, utilizza le varianti x, y, z. Analogamente, utilizza le varianti x, y per le allocazioni bidimensionali e x per le allocazioni monodimensionali.
Questa funzione ha due stili. Uno restituisce l'indirizzo del valore utilizzando void*, l'altro restituisce il valore effettivo, ad esempio rsGetElementAt() rispetto a rsGetElementAt_int4(). Per i tipi primitivi, utilizza sempre il secondo in quanto è più efficiente.
rsGetElementAtYuv_uchar_U : ottieni il componente U di un'allocazione di YUV
uchar rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
Estrae il componente U di un singolo valore YUV da un'allocazione 2D di YUV.
All'interno di un'allocazione, possono essere archiviati i componenti Y, U e V se sono presenti piani diversi e con risoluzioni diverse. Le coordinate x e y qui fornite corrispondono alle dimensioni del piano Y.
Consulta la funzione rsGetElementAtYuv_uchar_Y().
rsGetElementAtYuv_uchar_V : ottiene il componente V di un'allocazione di YUV
uchar rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
Estrae il componente V di un singolo valore YUV da un'allocazione 2D di YUV.
All'interno di un'allocazione, possono essere archiviati i componenti Y, U e V se sono presenti piani diversi e con risoluzioni diverse. Le coordinate x e y qui fornite corrispondono alle dimensioni del piano Y.
Consulta la funzione rsGetElementAtYuv_uchar_Y().
rsGetElementAtYuv_uchar_Y : ottieni il componente Y di un'allocazione di YUV
uchar rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
Estrae il componente Y di un singolo valore YUV da un'allocazione 2D di YUV.
All'interno di un'allocazione, possono essere archiviati i componenti Y, U e V se sono presenti piani diversi e con risoluzioni diverse. Le coordinate x e y qui fornite corrispondono alle dimensioni del piano Y.
Consulta rsGetElementAtYuv_uchar_U() e rsGetElementAtYuv_uchar_V().
rsSample : campiona un valore da un'allocazione di texture
float4 rsSample(rs_allocation a, rs_sampler s, posizione float); | Aggiunto al livello API 16 |
float4 rsSample(rs_allocation a, rs_sampler s, float location, float lod); | Aggiunto al livello API 16 |
float4 rsSample(rs_allocation a, rs_sampler s, float2 location); | Aggiunto al livello API 16 |
float4 rsSample(rs_allocation a, rs_sampler s, float2 location, float lod); | Aggiunto al livello API 16 |
Parametri
a | Allocazione al campione da. |
---|---|
s | Stato del campionatore. |
posizione | Località da cui eseguire il campionamento. |
Lod | Livello mip da cui campionare; per i valori frazionari, i livelli mip verranno interpolati se viene utilizzato RS_EXAMPLER_LINEAR_MIP_LINEAR. |
Recupera un valore dall'allocazione delle texture nel modo descritto dal campionatore.
Se l'allocazione è 1D, utilizza la variante con numero in virgola mobile per la località. Per il 2D, utilizza la variante float2.
Per ulteriori dettagli, visita la pagina android.renderscript.Sampler.
rsSetElementAt : imposta una cella di un'allocazione
void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt(rs_allocation a, void* ptr, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_Double(rs_allocation a, double val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_Double(rs_allocation a, double val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_Double(rs_allocation a, double val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_Double2(rs_allocation a, Double2 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_DOUBLE2(rs_allocation a, Double2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_Double2(rs_allocation a, Double2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_Double3(rs_allocation a, Double3 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_Double3(rs_allocation a, Double3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_Double3(rs_allocation a, Double3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_Double4(rs_allocation a, Double4 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_Double4(rs_allocation a, Double4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_ double4(rs_allocation a, Double4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_float(rs_allocation a, val float, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_float(rs_allocation a, val float, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x); | Aggiunto al livello API 23 |
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y); | Aggiunto al livello API 23 |
void rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 23 |
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x); | Aggiunto al livello API 23 |
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 23 |
void rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 23 |
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x); | Aggiunto al livello API 23 |
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 23 |
void rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 23 |
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x); | Aggiunto al livello API 23 |
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 23 |
void rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 23 |
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y); | Aggiunto al livello API 18 |
void rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z); | Aggiunto al livello API 18 |
Questa funzione memorizza un valore in una singola cella di un'allocazione.
Quando memorizzi in allocazioni tridimensionali, utilizza le varianti x, y, z. Analogamente, utilizza le varianti x, y per le allocazioni bidimensionali e x per le allocazioni monodimensionali.
Questa funzione ha due stili. Uno passa il valore da archiviare utilizzando un void*, l'altro ha il valore effettivo come argomento, ad esempio rsSetElementAt() rispetto a rsSetElementAt_int4(). Per i tipi primitivi, utilizza sempre il secondo in quanto è più efficiente.
Vedi anche rsGetElementAt().