Genel bakış
Aşağıdaki işlevler bir Ayırma, Öğe veya Örnekleyici nesnesinin özelliklerini sorgulamak için kullanılabilir. Bu nesneler Java'dan oluşturulur. Bunları bir komut dosyasından oluşturamazsınız.
Ayırmalar:
Ayırmalar, RenderScript çekirdekleri arasında veri aktarmak için kullanılan birincil yöntemdir.
Bunlar; bit eşlemleri, dokuları, rastgele veri noktalarını vb. depolamak için kullanılabilen yapılandırılmış bir hücre koleksiyonudur.
Bu hücre koleksiyonu birçok boyuta (X, Y, Z, Dizi0, Dizi1, Dizi2, Dizi3), yüzeye (küp haritalar için) ve ayrıntı düzeyine (eşleştirme için) sahip olabilir.
Ayırma oluşturma ile ilgili ayrıntılar için android.renderscript.Allocation bölümüne bakın.
Öğeler:
RenderScript'te hem bir Allocation hücrelerine ilişkin tür bilgileri hem de o türün örneklendirmesi nedeniyle "öğe" terimi biraz net bir şekilde kullanılmaktadır. Örneğin:
- rs_element, tür spesifikasyonunun tanıtıcısıdır ve
- rsGetElementAt() gibi işlevlerde "öğe", türün örneklendirmesini, yani bir Allocation hücresini ifade eder.
Aşağıdaki işlevler, tür spesifikasyonunun özelliklerini sorgulamanıza olanak tanır.
Bir öğe, C'de bulunan basit bir veri türlerini (ör. tam sayı, kayan noktalı veya boole) belirtebilir. Ayrıca, bir RenderScript nesnesinin tanıtıcısını da belirtebilir. Temel türlerin listesi için rs_data_type bölümüne bakın.
Öğeler, temel türlerin sabit boyutlu vektör (2, 3 veya 4 boyutunda) sürümlerini belirtebilir. Öğeler, karmaşık öğeler halinde bir araya getirilebilir. Böylece C yapısı tanımlarına eşdeğer sonuçlar elde edilir.
Öğelerin, piksel verilerini yorumlamak için kullanılan anlamsal bilgiler olan bir türü de olabilir. rs_data_kind konusuna bakın.
Ortak öğelerin tahsislerini oluştururken F32_2 gibi önceden tanımlanmış birçok öğeden birini kullanabilirsiniz.
Karmaşık Öğeler oluşturmak için Element.Builder Java sınıfını kullanın.
Örnekleyiciler:
Örnekleyici nesneleri, Ayırmaların bir çekirdek içinde yapı olarak nasıl okunabileceğini tanımlar. Bkz. android.renderscript.S.
Özet
Fonksiyonlar | |
---|---|
rsAllocationGetDimFaces | Birden fazla yüzün bulunması |
rsAllocationGetDimLOD | Ayrıntı seviyelerinin varlığı |
rsAllocationGetDimX | X boyutunun boyutu |
rsAllocationGetDimY | Y boyutunun boyutu |
rsAllocationGetDimZ | Z boyutunun boyutu |
rsAllocationGetElement | Bir Allocation hücresini açıklayan nesneyi alın |
rsClearObject | Nesneyi serbest bırakma |
rsElementGetBytesSize | Bir Öğenin Boyutu |
rsElementGetDataKind | Öğe Türü |
rsElementGetDataType | Bir Öğenin veri türü |
rsElementGetSubElement | Karmaşık bir elementin alt öğesi |
rsElementGetSubElementArraySize | Karmaşık bir elementin alt öğesinin dizi boyutu |
rsElementGetSubElementCount | Alt öğe sayısı |
rsElementGetSubElementName | Alt öğenin adı |
rsElementGetSubElementNameLength | Alt öğe adının uzunluğu |
rsElementGetSubElementoffsetBytes | Örneklenen alt öğenin göreli konumu |
rsElementGetVectorSize | Öğenin vektör boyutu |
rsIsNesnesi | Herkese açık kullanıcı adının boş olup olmadığını kontrol edin |
rsSamplerGetAnizotropi | Örnekleyicinin Anizotropisi |
rsSamplerGetMagnification | Örnekleyici büyütme değeri |
rsSamplerGetMinification | Örnekleyici küçültme değeri |
rsSamplerGetWrapS | Örnekleyici sarmalama S değeri |
rsSamplerGetWrapT | Örnekleyici sarmalama T değeri |
Kullanımdan Kaldırılan İşlevler | |
---|---|
rsGetAllocation | Kullanımdan kaldırıldı. Belirli bir işaretçi için Ayırmayı döndürme |
Fonksiyonlar
rsAllocationGetDimFaces : Birden fazla yüzün bulunması
uint32_t rsAllocationGetDimFaces(rs_allocation a); |
İlerlemeler
Birden fazla yüz varsa 1, aksi takdirde 0 değerini döndürür. |
Ayırma bir küp haritasıysa birden fazla yüz varsa bu işlev 1 değerini döndürür. Diğer tüm durumlarda 0 değerini döndürür.
Şu anda çalışan bir çekirdeğin boyutunu almak için rsGetDimHasFaces() işlevini kullanın.
rsAllocationGetDimLOD : Ayrıntı düzeylerinin varlığı
uint32_t rsAllocationGetDimLOD(rs_allocation a); |
İlerlemeler
Birden fazla LOD varsa 1, aksi takdirde 0 sonucunu döndürür. |
Bir Atamayı birden fazla Ayrıntı Düzeyinin varlığı açısından sorgulayın. Bu, mipmaps için yararlı bir özelliktir.
Şu anda çalışan bir çekirdeğin boyutunu almak için rsGetDimLod() işlevini kullanın.
rsAllocationGetDimX : X boyutunun boyutu
uint32_t rsAllocationGetDimX(rs_allocation a); |
İlerlemeler
Ayırma'nın X boyutu. |
Ayırma'nın X boyutunun boyutunu döndürür.
Şu anda çalışan bir çekirdeğin boyutunu almak için rsGetDimX() işlevini kullanın.
rsAllocationGetDimY : Y boyutunun boyutu
uint32_t rsAllocationGetDimY(rs_allocation a); |
İlerlemeler
Ayırma'nın Y boyutu. |
Ayırma'nın Y boyutunun boyutunu döndürür. Ayırmanın boyutu ikiden azsa 0 değerini döndürür.
Şu anda çalışan bir çekirdeğin boyutunu almak için rsGetDimY() işlevini kullanın.
rsAllocationGetDimZ : Z boyutunun boyutu
uint32_t rsAllocationGetDimZ(rs_allocation a); |
İlerlemeler
Ayırma'nın Z boyutu. |
Ayırma'nın Z boyutunun boyutunu döndürür. Ayırmanın boyutu üçten azsa 0 değerini döndürür.
Şu anda çalışan bir çekirdeğin boyutunu almak için rsGetDimZ() komutunu kullanın.
rsAllocationGetElement : Bir Allocation hücresini açıklayan nesneyi alın
rs_element rsAllocationGetElement(rs_allocation a); |
Parametreler
CANNOT TRANSLATE | Verileri almak için kullanılacak ayırma. |
---|
İlerlemeler
Ayırma düzenini açıklayan öğe. |
Ayırma işlevindeki bir hücrenin türünü, türünü ve diğer özelliklerini açıklayan Element nesnesini alın. Aşağıdaki rsElement* işlevlerine bakın.
rsClearObject : Nesneyi serbest bırakma
void rsClearObject(rs_allocation* dst); | |
void rsClearObject(rs_element* dst); | |
void rsClearObject(rs_font* dst); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
void rsClearObject(rs_mesh* dst); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
void rsClearObject(rs_program_fragman* dst); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
void rsClearObject(rs_program_raster* dst); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
void rsClearObject(rs_program_store* dst); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
void rsClearObject(rs_program_vertex* dst); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
void rsClearObject(rs_sampler* dst); | |
void rsClearObject(rs_script* dst); | |
void rsClearObject(rs_type* dst); |
Çalıştırma zamanına, bu herkese açık kullanıcı adının artık ilgili nesneye erişmek için kullanılmayacağını bildirir. Bu, söz konusu nesne için son herkese açık kullanıcı adı ise kaynak kurtarma gerçekleşebilir.
Bu işlev çağrıldıktan sonra, *dst herkese açık bir tanıtıcıya ayarlanır. Bkz. rsIsObject().
rsElementGetBytesSize : Bir Öğenin Boyutu
uint32_t rsElementGetBytesSize(rs_element e); | API düzeyi 16'da eklendi |
Bu Element örneklendirmesinin kaplayacağı boyutu bayt cinsinden döndürür.
rsElementGetDataKind : Öğe Türü
rs_data_kind rsElementGetDataKind(rs_element e); | API düzeyi 16'da eklendi |
Öğenin veri türünü döndürür. Piksel verilerini yorumlamak için kullanılır.
rs_data_kind konusuna bakın.
rsElementGetDataType : Bir öğenin veri türü
rs_data_type rsElementGetDataType(rs_element e); | API düzeyi 16'da eklendi |
Öğenin temel veri türünü döndürür. Bu, C/C++ benzeri bir tür (ör. RS_TYPE_UNSIGNED_8), bir herkese açık kullanıcı adı (ör. RS_TYPE_ALLOCATION ve RS_TYPE_ELEMENT) veya daha karmaşık bir sayısal tür (ör. RS_TYPE_UNSIGNED_5_6_5 ve RS_TYPE_MATRIX_4X4) olabilir. Daha fazla bilgi için rs_data_type konusuna bakın.
Öğe bir vektörü tanımlıyorsa, bu işlev, öğelerinden birinin veri türünü döndürür. Vektörün boyutunu öğrenmek için rsElementGetVectorSize'ı kullanın.
Öğe bir yapıyı açıklıyorsa RS_TYPE_NONE döndürülür. Bu karmaşık Element'i keşfetmek için rsElementGetSub* işlevlerini kullanın.
rsElementGetSubElement : Karmaşık bir öğenin alt öğesi
rs_element rsElementGetSubElement(rs_element e, uint32_t dizin); | API düzeyi 16'da eklendi |
Parametreler
e | Sorgulanacak öğe. |
---|---|
dizin | Döndürülecek alt öğenin dizini. |
İlerlemeler
Belirtilen dizindeki alt öğe. |
Bir yapıyı temsil eden öğeler için bu işlev, belirtilen dizindeki alt öğeyi döndürür.
Öğe bir yapı değilse veya dizin, alt öğelerin sayısından büyük ya da ona eşitse geçersiz bir herkese açık kullanıcı adı döndürülür.
rsElementGetSubElementArraySize : Karmaşık bir öğenin alt öğesinin dizi boyutu
uint32_t rsElementGetSubElementArraySize(rs_element e, uint32_t dizin); | API düzeyi 16'da eklendi |
Parametreler
e | Sorgulanacak öğe. |
---|---|
dizin | Alt öğenin dizini. |
İlerlemeler
Alt öğenin dizi boyutu. |
Karmaşık Öğeler için alt öğeler statik boyutlu diziler olabilir. Bu işlev, dizindeki alt öğenin dizi boyutunu döndürür. Bu alt öğe tekrarı, sabit boyutlu vektörlerden farklıdır.
rsElementGetSubElementCount : Alt öğe sayısı
uint32_t rsElementGetSubElementCount(rs_element e); | API düzeyi 16'da eklendi |
Parametreler
e | Verilerin alınacağı öğe. |
---|
İlerlemeler
Alt öğe sayısı. |
Öğeler, int veya kayan nokta gibi basit ya da birden çok alt öğesi olan bir yapı olabilir. Bu işlev, basit Öğeler için sıfır ve karmaşık Öğeler için alt öğe sayısını döndürür.
rsElementGetSubElementName : Alt öğenin adı
uint32_t rsElementGetSubElementName(rs_element e, uint32_t dizin, karakter* adı, uint32_t nameLength); | API düzeyi 16'da eklendi |
Parametreler
e | Verilerin alınacağı öğe. |
---|---|
dizin | Alt öğenin dizini. |
ad | Adın depolanacağı dizinin adresi. |
adUzunluğu | Sağlanan ad dizisinin uzunluğu. |
İlerlemeler
Boş sonlandırıcı hariç kopyalanan karakter sayısı. |
Karmaşık Öğeler için bu işlev, belirtilen dizindeki alt öğenin adını döndürür.
rsElementGetSubElementNameLength : Alt öğe adının uzunluğu
uint32_t rsElementGetSubElementNameLength(rs_element e, uint32_t dizin); | API düzeyi 16'da eklendi |
Parametreler
e | Verilerin alınacağı öğe. |
---|---|
dizin | Alt öğenin dizini. |
İlerlemeler
Boş sonlandırıcı da dahil olmak üzere alt öğe adının uzunluğu. |
Karmaşık Öğeler için bu işlev, belirtilen dizindeki alt öğenin adının uzunluğunu döndürür.
rsElementGetSubElementoffsetBytes : Örneklenen alt öğenin göreli konumu
uint32_t rsElementGetSubElement OffsetBytes(rs_element e, uint32_t dizin); | API düzeyi 16'da eklendi |
Parametreler
e | Verilerin alınacağı öğe. |
---|---|
dizin | Alt öğenin dizini. |
İlerlemeler
Bayt cinsinden göreli konum. |
Bu işlev, belirtilen alt öğenin örneklendirmesinin Öğe örneği içindeki göreli konumunu döndürür.
Örneğin, Öğe 32 bitlik bir kayan noktalı değeri ve ardından 32 bitlik bir tam sayıyı tanımlarsa, ilk öğe için ofset dönüşü 0 ve ikinci 4 olur.
rsElementGetVectorSize : Öğenin vektör boyutu
uint32_t rsElementGetVectorSize(rs_element e); | API düzeyi 16'da eklendi |
Parametreler
e | Verilerin alınacağı öğe. |
---|
İlerlemeler
Öğe vektörünün uzunluğu. |
Öğenin vektör boyutunu döndürür. Öğe bir vektörü temsil etmiyorsa 1 döndürülür.
rsGetAllocation : Belirli bir işaretçi için Ayırma'yı döndürme
rs_allocation rsGetAllocation(const void* p); |
Kullanımdan kaldırıldı. Bu işlev artık kullanılmamaktadır ve gelecekteki bir sürümde SDK'dan kaldırılacaktır.
Belirli bir işaretçi için Ayırma değerini döndürür. İşaretçi geçerli bir ayırma içinde olmalıdır. İşaretçi geçerli bir Ayırma'dan değilse sonuçlar tanımsız olur.
rsIsObject : Boş herkese açık kullanıcı adı olup olmadığını kontrol edin
bool rsIsObject(rs_allocation v); | |
bool rsIsObject(rs_element v); | |
bool rsIsObject(rs_font v); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
bool rsIsObject(rs_mesh v); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
bool rsIsObject(rs_program_fragman v); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
bool rsIsObject(rs_program_raster v); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
bool rsIsObject(rs_program_store v); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
bool rsIsObject(rs_program_vertex v); | 32 bit için derleme yaparken. API düzeyi 23 ve sonraki sürümlerden kaldırıldı |
bool rsIsObject(rs_sampler v); | |
bool rsIsObject(rs_script v); | |
bool rsIsObject(rs_type v); |
Herkese açık kullanıcı adı, boş olmayan bir başvuru içeriyorsa true değerini döndürür.
Bu işlev, tutma yerinde kullanılan dahili işaretçinin gerçek bir geçerli nesneye işaret ettiğini doğrulamaz; yalnızca boş olup olmadığını kontrol eder.
Bu işlev, rsElementGetSubElement() tarafından döndürülen öğeyi kontrol etmek veya bir tanıtıcıda rsClearObject() çağrısı olup olmadığını kontrol etmek için kullanılabilir.
rsSamplerGetAnisotroppy : Örnekleyicinin Anizotropisi
kayan nokta rsSamplerGetAnisotropy(rs_sampler s); | API düzeyi 16'da eklendi |
Örnekleyicinin anizotropisini alın.
Bkz. android.renderscript.S.
rsSamplerGetMagnification : Örnekleyici büyütme değeri
rs_sampler_value rsSamplerGetMagnification(rs_sampler s); | API düzeyi 16'da eklendi |
Örnekleyici'nin büyütme değerini öğrenin.
Bkz. android.renderscript.S.
rsSamplerGetMinification : Örnekleyici küçültme değeri
rs_sampler_value rsSamplerGetMinification(rs_sampler s); | API düzeyi 16'da eklendi |
Örnekleyicinin küçültme değerini alma.
Bkz. android.renderscript.S.
rsSamplerGetWrapS : Örnekleyici sarmalama S değeri
rs_sampler_value rsSamplerGetWrapS(rs_sampler s); | API düzeyi 16'da eklendi |
Örnekleyicinin sarmalama S değerini alma.
Bkz. android.renderscript.S.
rsSamplerGetWrapT : Örnekleyici sarmalama T değeri
rs_sampler_value rsSamplerGetWrapT(rs_sampler s); | API düzeyi 16'da eklendi |
Örnekleyicinin sarmalama T değerini alın.
Bkz. android.renderscript.S.