Funkcje tworzenia alokacji RenderScript

Przegląd

Poniższe funkcje mogą służyć do tworzenia przydziałów na podstawie skryptu.

Te funkcje można wywoływać bezpośrednio lub pośrednio z funkcji niewprowadzonej. Jeśli jakaś ścieżka przepływu kontroli może skutkować wywołaniem tych funkcji przez funkcję jądra RenderScript, zostanie wygenerowany błąd kompilatora.

Podsumowanie

Funkcje
rsCreateAllocation, Utwórz obiekt rs_allocation danego typu.
rsCreateElement. Tworzy obiekt rs_element określonego typu danych
rsCreatePixelElement. Tworzy obiekt rs_element określonego typu i rodzaju danych
rsCreateType, Tworzy obiekt rs_type z określonymi atrybutami Element i kształt
rsCreateVectorElement. Tworzy obiekt rs_element o określonym typie danych i szerokości wektora

Funkcje

rsCreateAllocation : tworzy obiekt rs_allocation danego typu.

rs_allocation rsCreateAllocation(rs_type type); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation(typ rs_type, rs_allocation_mipmap_control mipmap, uint32_tUsages, void* ptr); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation(typ rs_type, użycie uint32_t); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_double4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
Parametry
typRodzaj przydziału
użycieFlaga wykorzystania alokacji
mipmapa
przypadki użycia
ptr
przyciemniony X
przyciemnij na Y
przyciemnijZ

Tworzy obiekt rs_allocation o danym typie i użyciu.

Jedyne obsługiwane flagi wykorzystania dla alokacji utworzone z poziomu skryptu RenderScript to RS_ALLOCATION_USAGE_SCRIPT i RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE.

Możesz też użyć funkcji otoki rsCreateAllocation_ , aby bezpośrednio tworzyć alokacje skalarnych i wektorowych typów liczbowych bez tworzenia pośrednich obiektów rs_element lub rs_type.

Przykład: rsCreateAllocation_int4() zwraca alokację typu danych int4 określonych wymiarów.

rsCreateElement : tworzy obiekt rs_element określonego typu danych

rs_element rsCreateElement(int32_t data_type, int32_t data_kind, bool isNormalized, uint32_t vecSize); Dodano do poziomu interfejsu API 24.
rs_element rsCreateElement(rs_data_type data_type); Dodano do poziomu interfejsu API 24.
Parametry
data_typeTyp danych elementu
rodzaj_danych
znormalizowany
vecSize

Tworzy obiekt rs_element określonego typu danych. Rodzaj danych elementu zostanie ustawiony na RS_KIND_USER, a vector_width na 1, co oznacza, że element nie jest wektorem.

rsCreatePixelElement : tworzy obiekt rs_element określonego typu danych i rodzaju danych.

rs_element rsCreatePixelElement(rs_data_type data_type, rs_data_kind data_kind); Dodano do poziomu interfejsu API 24.
Parametry
data_typeTyp danych elementu
rodzaj_danychRodzaj danych elementu

Tworzy obiekt rs_element określonego typu i rodzaju danych. Parametr vector_width elementu będzie miał wartość 1, co oznacza, że element nie jest wektorowy.

rsCreateType : tworzy obiekt rs_type z określonymi atrybutami Element i shape.

rs_type rsCreateType(element rs_element, uint32_t dimX); Dodano do poziomu interfejsu API 24.
rs_type rsCreateType(element rs_element, uint32_t dimX, uint32_t dimY); Dodano do poziomu interfejsu API 24.
rs_type rsCreateType(element rs_element, uint32_t dimX, uint32_t dimY, uint32_t dimZ); Dodano do poziomu interfejsu API 24.
rs_type rsCreateType(rs_element element, uint32_t dimX, uint32_t dimY, uint32_t dimZ, bool mipmaps, bool tarcze, rs_yuv_format yuv_format); Dodano do poziomu interfejsu API 24.
Parametry
elementElement, który ma być powiązany z typem
przyciemniony XRozmiar wzdłuż wymiaru X
przyciemnij na YRozmiar na wymiarze Y
przyciemnijZRozmiar wzdłuż wymiaru Z
mipmapyFlaga wskazująca, czy typ ma łańcuch mipmap
twarzeFlaga z informacją, czy typ jest mapą sześcianów
format_yuvUkład YUV dla typu

Tworzy obiekt rs_type z określonymi atrybutami Element i kształt.

dimX określa rozmiar wymiaru X.

Parametr dimY, jeśli występuje i ma wartość inną niż zero, wskazuje, że wymiar Y jest obecny i wskazuje jego rozmiar.

DimZ (jeśli występuje i ma wartość inną niż zero) wskazuje, że wymiar Z istnieje i jego rozmiar.

mipmapy wskazują poziom szczegółowości.

wskazuje na obecność tarcz w postaci mapy sześciennej.

yuv_format wskazuje powiązany format YUV (lub RS_YUV_NONE).

rsCreateVectorElement : tworzy obiekt rs_element o określonym typie danych i szerokości wektora

rs_element rsCreateVectorElement(rs_data_type data_type, uint32_t vector_width); Dodano do poziomu interfejsu API 24.
Parametry
data_typeTyp danych elementu
szerokość_wektoraSzerokość wektora (2, 3 lub 4)

Tworzy obiekt rs_element o określonym typie danych i szerokości wektora. Wartość parametru vector_width musi wynosić 2, 3 lub 4. Rodzaj danych elementu zostanie ustawiony na RS_KIND_USER.