Panoramica
Le funzioni seguenti possono essere utilizzate per creare allocazioni da uno script.
Queste funzioni possono essere chiamate direttamente o indirettamente da una funzione evocabile. Se un percorso del flusso di controllo può comportare una chiamata a queste funzioni da una funzione kernel RenderScript, verrà generato un errore del compilatore.
Riepilogo
| Funzioni | |
|---|---|
| rsCreateAllocation | Crea un oggetto rs_allocation di un determinato tipo. |
| rsCreateElement | Crea un oggetto rs_element del tipo di dati specificato |
| rsCreatePixelElement | Crea un oggetto rs_element del tipo di dati e del tipo di dati specificati |
| rsCreateType | Crea un oggetto rs_type con gli attributi Elemento e Forma specificati |
| rsCreateVectorElement | Crea un oggetto rs_element del tipo di dati e della larghezza del vettore specificati |
Funzioni
rsCreateAllocation : crea un oggetto rs_allocation del tipo specificato.
| rs_allocation rsCreateAllocation(rs_type type); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation(rs_type type, rs_allocation_mipmap_control mipmap, uint32_t utilizzi, void* ptr); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation(tipo rs_type, utilizzo uint32_t); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_double2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_Double4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort2(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort3(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort4(uint32_t dimX); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
Parametri
| digita | Tipo di allocazione |
|---|---|
| Utilizzo | Flag di utilizzo per l'allocazione |
| mipmap | |
| utilizzi | |
| ptr | |
| dimX | |
| attenuato | |
| attenua |
Crea un oggetto rs_allocation del tipo e dell'utilizzo specificati.
RS_ALLOCATION_USAGE_SCRIPT e RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE sono gli unici flag di utilizzo supportati per le allocazioni create dall'interno di uno script RenderScript.
Puoi anche utilizzare le funzioni wrapper rsCreateAllocation_
Ad esempio, rsCreateAllocation_int4() restituisce un'allocazione del tipo di dati int4 delle dimensioni specificate.
rsCreateElement : crea un oggetto rs_element del tipo di dati specificato
| rs_element rsCreateElement(int32_t data_type, int32_t data_kind, bool isNormalized, uint32_t vecSize); | Aggiunto al livello API 24 |
| rs_element rsCreateElement(rs_data_type data_type); | Aggiunto al livello API 24 |
Parametri
| tipo_dati | Tipo di dati dell'elemento |
|---|---|
| tipo di dati | |
| isNormalizzato | |
| vecSize |
Crea un oggetto rs_element del tipo di dati specificato. Il tipo di dati dell'elemento verrà impostato su RS_KIND_USER e vector_width verrà impostato su 1, a indicare un tipo non vettoriale.
rsCreatePixelElement : crea un oggetto rs_element del tipo di dati e del tipo di dati specificati
| rs_element rsCreatePixelElement(rs_data_type data_type, rs_data_kind data_kind); | Aggiunto al livello API 24 |
Parametri
| tipo_dati | Tipo di dati dell'elemento |
|---|---|
| tipo di dati | Tipo di dati dell'elemento |
Crea un oggetto rs_element del tipo di dati e del tipo di dati specificati. Il valore vector_width dell'elemento verrà impostato su 1, a indicare un valore non vettoriale.
rsCreateType : crea un oggetto rs_type con gli attributi Elemento e Forma specificati
| rs_type rsCreateType(elemento rs_element, uint32_t dimX); | Aggiunto al livello API 24 |
| rs_type rsCreateType(elemento rs_element, uint32_t dimX, uint32_t dimY); | Aggiunto al livello API 24 |
| rs_type rsCreateType(elemento rs_element, uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Aggiunto al livello API 24 |
| rs_type rsCreateType(elemento rs_element, uint32_t dimX, uint32_t dimY, uint32_t dimZ, bool mipmaps, bool face, rs_yuv_format yuv_format); | Aggiunto al livello API 24 |
Parametri
| elemento | Elemento da associare al tipo |
|---|---|
| dimX | Dimensione lungo la dimensione X |
| attenuato | Dimensione in base alla dimensione Y |
| attenua | Dimensione in base alla dimensione Z |
| mipmap | Flag che indica se il Tipo ha una catena mipmap |
| volti | Flag che indica se il tipo è una mappa cubica |
| Formato_yuv | Layout YUV per il tipo |
Crea un oggetto rs_type con gli attributi Elemento e Forma specificati.
dimX specifica la dimensione della dimensione X.
dimY, se presente e diverso da zero, indica che la dimensione Y è presente e ne indica la dimensione.
dimZ, se presente e diverso da zero, indica che la dimensione Z è presente e indica la sua dimensione.
mipmaps indica la presenza di livello di dettaglio (LOD).
facce indica la presenza di facce a mappa cubica.
yuv_format indica il formato YUV associato (o RS_YUV_NONE).
rsCreateVectorElement : crea un oggetto rs_element del tipo di dati e della larghezza vettoriale specificati
| rs_element rsCreateVectorElement(rs_data_type data_type, uint32_t vector_width); | Aggiunto al livello API 24 |
Parametri
| tipo_dati | Tipo di dati dell'elemento |
|---|---|
| larghezza_vettore | Larghezza vettore (2, 3 o 4) |
Crea un oggetto rs_element con il tipo di dati e la larghezza vettoriale specificati. Il valore di vector_width deve essere 2, 3 o 4. Il tipo di dati dell'elemento verrà impostato su RS_KIND_USER.