खास जानकारी
नीचे दिए गए फ़ंक्शन का इस्तेमाल, किसी ऐलोकेशन, एलिमेंट या सैंपलर ऑब्जेक्ट की विशेषताओं के बारे में क्वेरी करने के लिए किया जा सकता है. ये ऑब्जेक्ट, Java से बनाए जाते हैं. इन्हें स्क्रिप्ट से नहीं बनाया जा सकता.
ऐलोकेशन:
रेंडरस्क्रिप्ट कर्नेल में डेटा भेजने और पाने के लिए, ऐलोकेशन का इस्तेमाल मुख्य तौर पर किया जाता है.
ये सेल का स्ट्रक्चर्ड कलेक्शन होते हैं. इनका इस्तेमाल बिटमैप, टेक्सचर, मनमुताबिक डेटा पॉइंट वगैरह को स्टोर करने के लिए किया जा सकता है.
सेल के इस कलेक्शन में कई डाइमेंशन (X, Y, Z, Array0, Array1, Array2, Array3), फ़ेस (क्यूबमैप के लिए) और ज़्यादा जानकारी (मिपमैपिंग के लिए) हो सकती है.
ऐलोकेशन बनाने के बारे में जानने के लिए, android.renderscript.Allocation देखें.
एलिमेंट:
RenderScript में "एलिमेंट" शब्द का इस्तेमाल थोड़ा अस्पष्ट तरीके से किया जाता है. ऐसा इसलिए है, क्योंकि यह एलोकेशन की सेल के लिए और उस टाइप के इंस्टैंशिएशन, दोनों के लिए जानकारी देता है. उदाहरण के लिए:
- rs_element, टाइप की खास जानकारी का हैंडल है, और
- rsGetElementAt() जैसे फ़ंक्शन में, "एलिमेंट" का मतलब टाइप का इंस्टैंशिएशन होता है, यानी कि किसी ऐलोकेशन की सेल.
नीचे दिए गए फ़ंक्शन की मदद से, टाइप स्पेसिफ़िकेशन की विशेषताओं के बारे में क्वेरी की जा सकती है.
एलिमेंट में, C में पाए जाने वाले डेटा टाइप की जानकारी दी जा सकती है. जैसे, कोई पूर्णांक, फ़्लोट या बूलियन. यह किसी RenderScript ऑब्जेक्ट के हैंडल की जानकारी भी दे सकता है. बुनियादी टाइप की सूची के लिए, rs_data_type देखें.
एलिमेंट, बुनियादी टाइप के तय साइज़ वाले वेक्टर (साइज़ 2, 3 या 4) के वर्शन तय कर सकते हैं. एलिमेंट को एक साथ ग्रुप करके, जटिल एलिमेंट बनाए जा सकते हैं. इससे C स्ट्रक्चर की डेफ़िनिशन बनती हैं.
एलिमेंट में एक तरह की जानकारी भी हो सकती है. यह जानकारी, पिक्सल डेटा को समझने के लिए इस्तेमाल की जाती है. rs_data_kind देखें.
सामान्य एलिमेंट के लिए ऐलोकेशन बनाते समय, F32_2 जैसे पहले से तय किए गए कई एलिमेंट में से किसी एक का इस्तेमाल किया जा सकता है.
जटिल एलिमेंट बनाने के लिए, Element.Builder Java क्लास का इस्तेमाल करें.
सैंपलर:
सैंपलर ऑब्जेक्ट से यह तय होता है कि किसी कर्नेल में, एलोकेशन को स्ट्रक्चर के तौर पर कैसे पढ़ा जा सकता है. android.renderscript.S देखें.
खास जानकारी
फ़ंक्शन | |
---|---|
rsAllocationGetDimFaces | एक से ज़्यादा चेहरे दिखना |
rsAllocationGetDimLOD | जानकारी के लेवल |
rsAllocationGetDimX | X डाइमेंशन का साइज़ |
rsAllocationGetDimY | Y डाइमेंशन का साइज़ |
rsAllocationGetDimZ | Z डाइमेंशन का साइज़ |
rsAllocationGetElement | वह ऑब्जेक्ट पाएं जो किसी ऐलोकेशन की सेल के बारे में बताता है |
rsClearObject | किसी ऑब्जेक्ट को रिलीज़ करना |
rsElementGetBytesSize | किसी एलिमेंट का साइज़ |
rsElementGetDataKind | एलिमेंट का टाइप |
rsElementGetDataType | किसी एलिमेंट का डेटा टाइप |
rsElementGetSubElement | किसी कॉम्प्लेक्स एलिमेंट का सब-एलिमेंट |
rsElementGetSubElementArraySize | किसी कॉम्प्लेक्स एलिमेंट के सब-एलिमेंट का कलेक्शन साइज़ |
rsElementGetSubElementCount | सब-एलिमेंट की संख्या |
rsElementGetSubElementName | सब-एलिमेंट का नाम |
rsElementGetSubElementNameLength | सब-एलिमेंट के नाम की लंबाई |
rsElementGetSubElementOffsetBytes | इंस्टैंशिएट किए गए सब-एलिमेंट का ऑफ़सेट |
rsElementGetVectorSize | एलिमेंट का वेक्टर साइज़ |
rsIsObject | खाते का हैंडल खाली है या नहीं |
rsSamplerGetAnisotropy | सैंपलर की एनिसोट्रॉपी |
rsSamplerGetMagnification | सैंपलर की ज़ूम की वैल्यू |
rsSamplerGetMinification | सैंपलर की छोटी की गई वैल्यू |
rsSamplerGetWrapS | सैंपलर रैप S वैल्यू |
rsSamplerGetWrapT | सैंपलर रैप T वैल्यू |
बंद किए गए फ़ंक्शन | |
---|---|
rsGetAllocation | अब काम नहीं करता. किसी पॉइंटर के लिए ऐलोकेशन दिखाता है |
फ़ंक्शन
rsAllocationGetDimFaces : एक से ज़्यादा चेहरे मौजूद हैं
uint32_t rsAllocationGetDimFaces(rs_allocation a); |
रिटर्न
अगर एक से ज़्यादा होम स्क्रीन मौजूद हैं, तो यह फ़ंक्शन 1 दिखाता है. अगर एक से ज़्यादा होम स्क्रीन मौजूद नहीं हैं, तो यह फ़ंक्शन 0 दिखाता है. |
अगर ऐलोकेशन एक क्यूबमैप है, तो एक से ज़्यादा फ़ेस होने पर यह फ़ंक्शन 1 दिखाता है. अन्य सभी मामलों में, यह 0 दिखाता है.
फ़िलहाल चल रहे केरल का डाइमेंशन पाने के लिए, rsGetDimHasFaces() का इस्तेमाल करें.
rsAllocationGetDimLOD : ज़्यादा जानकारी वाले लेवल की मौजूदगी
uint32_t rsAllocationGetDimLOD(rs_allocation a); |
रिटर्न
अगर एक से ज़्यादा एलओडी मौजूद हैं, तो यह फ़ंक्शन 1 दिखाता है. अगर एक से ज़्यादा एलओडी मौजूद नहीं हैं, तो यह फ़ंक्शन 0 दिखाता है. |
ज़्यादा जानकारी वाले एक से ज़्यादा लेवल की मौजूदगी के लिए, एलोकेशन की क्वेरी करें. यह mipmaps के लिए काम का है.
फ़िलहाल चल रहे कर्नेल का डाइमेंशन पाने के लिए, rsGetDimLod() का इस्तेमाल करें.
rsAllocationGetDimX : X डाइमेंशन का साइज़
uint32_t rsAllocationGetDimX(rs_allocation a); |
रिटर्न
ऐलोकेशन का X डाइमेंशन. |
यह फ़ंक्शन, ऐलोकेशन के X डाइमेंशन का साइज़ दिखाता है.
फ़िलहाल चल रहे कर्नेल का डाइमेंशन पाने के लिए, rsGetDimX() का इस्तेमाल करें.
rsAllocationGetDimY : Y डाइमेंशन का साइज़
uint32_t rsAllocationGetDimY(rs_allocation a); |
रिटर्न
आवंटन का Y डाइमेंशन. |
यह एलोकेशन के Y डाइमेंशन का साइज़ दिखाता है. अगर ऐलोकेशन में दो से कम डाइमेंशन हैं, तो यह 0 दिखाता है.
फ़िलहाल चल रहे कर्नेल का डाइमेंशन पाने के लिए, rsGetDimY() का इस्तेमाल करें.
rsAllocationGetDimZ : Z डाइमेंशन का साइज़
uint32_t rsAllocationGetDimZ(rs_allocation a); |
रिटर्न
ऐलोकेशन का Z डाइमेंशन. |
यह फ़ंक्शन, ऐलोकेशन के Z डाइमेंशन का साइज़ दिखाता है. अगर ऐलोकेशन में तीन से कम डाइमेंशन हैं, तो यह 0 दिखाता है.
फ़िलहाल चल रहे कर्नेल का डाइमेंशन पाने के लिए, rsGetDimZ() का इस्तेमाल करें.
rsAllocationGetElement : वह ऑब्जेक्ट पाएं जो किसी ऐलोकेशन की सेल के बारे में बताता है
rs_element rsAllocationGetElement(rs_allocation a); |
पैरामीटर
a | वह ऐलोकेशन जिससे डेटा पाना है. |
---|
रिटर्न
एलिमेंट, जो ऐलोकेशन लेआउट के बारे में बताता है. |
एलिमेंट ऑब्जेक्ट पाएं, जिसमें किसी ऐलोकेशन की सेल के टाइप, तरह, और अन्य विशेषताओं के बारे में जानकारी होती है. नीचे rsElement* फ़ंक्शन देखें.
rsClearObject : किसी ऑब्जेक्ट को रिलीज़ करना
void rsClearObject(rs_allocation* dst); | |
void rsClearObject(rs_element* dst); | |
void rsClearObject(rs_font* dst); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
void rsClearObject(rs_mesh* dst); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
void rsClearObject(rs_program_fragment* dst); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
void rsClearObject(rs_program_raster* dst); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
void rsClearObject(rs_program_store* dst); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
void rsClearObject(rs_program_vertex* dst); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
void rsClearObject(rs_sampler* dst); | |
void rsClearObject(rs_script* dst); | |
void rsClearObject(rs_type* dst); |
रन टाइम को बताता है कि इस हैंडल का इस्तेमाल, अब उससे जुड़े ऑब्जेक्ट को ऐक्सेस करने के लिए नहीं किया जाएगा. अगर यह उस ऑब्जेक्ट का आखिरी हैंडल था, तो संसाधन वापस मिल सकता है.
इस फ़ंक्शन को कॉल करने के बाद, *dst को खाली हैंडल पर सेट कर दिया जाएगा. rsIsObject() देखें.
rsElementGetBytesSize : किसी एलिमेंट का साइज़
uint32_t rsElementGetBytesSize(rs_element e); | एपीआई लेवल 16 में जोड़ा गया |
इस एलिमेंट के इंस्टैंशिएशन का साइज़, बाइट में दिखाता है.
rsElementGetDataKind : किसी एलिमेंट का टाइप
rs_data_kind rsElementGetDataKind(rs_element e); | एपीआई लेवल 16 में जोड़ा गया |
एलिमेंट के डेटा टाइप की जानकारी देता है. इसका इस्तेमाल, पिक्सल डेटा को समझने के लिए किया जाता है.
rs_data_kind देखें.
rsElementGetDataType : किसी एलिमेंट का डेटा टाइप
rs_data_type rsElementGetDataType(rs_element e); | एपीआई लेवल 16 में जोड़ा गया |
एलिमेंट का बेस डेटा टाइप दिखाता है. यह C/C++ (उदाहरण के लिए, RS_TYPE_UNSIGNED_8), हैंडल (उदाहरण के लिए, RS_TYPE_ALLOCATION और RS_TYPE_ELEMENT) या संख्या के ज़्यादा जटिल टाइप (उदाहरण के लिए, RS_TYPE_UNSIGNED_5_6_5 और RS_TYPE_MATRIX_4X4) जैसा हो सकता है. rs_data_type देखें.
अगर एलिमेंट किसी वेक्टर के बारे में बताता है, तो यह फ़ंक्शन उसके किसी आइटम का डेटा टाइप दिखाता है. वेक्टर का साइज़ पाने के लिए, rsElementGetVectorSize का इस्तेमाल करें.
अगर एलिमेंट किसी स्ट्रक्चर के बारे में बताता है, तो RS_TYPE_NONE दिखाया जाता है. इस जटिल एलिमेंट को एक्सप्लोर करने के लिए, rsElementGetSub* फ़ंक्शन का इस्तेमाल करें.
rsElementGetSubElement : किसी कॉम्प्लेक्स एलिमेंट का सब-एलिमेंट
rs_element rsElementGetSubElement(rs_element e, uint32_t index); | एपीआई लेवल 16 में जोड़ा गया |
पैरामीटर
e | वह एलिमेंट जिसकी क्वेरी करनी है. |
---|---|
अनुक्रमणिका | लौटाए जाने वाले सब-एलिमेंट का इंडेक्स. |
रिटर्न
दिए गए इंडेक्स पर सब-एलिमेंट. |
स्ट्रक्चर दिखाने वाले एलिमेंट के लिए, यह फ़ंक्शन तय किए गए इंडेक्स पर सब-एलिमेंट दिखाता है.
अगर एलिमेंट कोई स्ट्रक्चर नहीं है या इंडेक्स, सब-एलिमेंट की संख्या से ज़्यादा या उसके बराबर है, तो अमान्य हैंडल दिखाया जाता है.
rsElementGetSubElementArraySize : किसी कॉम्प्लेक्स एलिमेंट के सब-एलिमेंट का ऐरे साइज़
uint32_t rsElementGetSubElementArraySize(rs_element e, uint32_t index); | एपीआई लेवल 16 में जोड़ा गया |
पैरामीटर
e | वह एलिमेंट जिसकी क्वेरी करनी है. |
---|---|
अनुक्रमणिका | सब-एलिमेंट का इंडेक्स. |
रिटर्न
सब-एलिमेंट का ऐरे साइज़. |
जटिल एलिमेंट के लिए, सब-एलिमेंट को स्टैटिक साइज़ वाले कलेक्शन के तौर पर इस्तेमाल किया जा सकता है. यह फ़ंक्शन, इंडेक्स में मौजूद सब-एलिमेंट के अरे का साइज़ दिखाता है. यह सब-एलिमेंट दोहराना, तय साइज़ वाले वेक्टर से अलग होता है.
rsElementGetSubElementCount : सब-एलिमेंट की संख्या
uint32_t rsElementGetSubElementCount(rs_element e); | एपीआई लेवल 16 में जोड़ा गया |
पैरामीटर
e | वह एलिमेंट जिससे डेटा पाना है. |
---|
रिटर्न
सब-एलिमेंट की संख्या. |
एलिमेंट, आसान हो सकते हैं, जैसे कि int या float या कई सब-एलिमेंट वाला स्ट्रक्चर. यह फ़ंक्शन, आसान एलिमेंट के लिए शून्य और जटिल एलिमेंट के लिए सब-एलिमेंट की संख्या दिखाता है.
rsElementGetSubElementName : किसी सब-एलिमेंट का नाम
uint32_t rsElementGetSubElementName(rs_element e, uint32_t index, char* name, uint32_t nameLength); | एपीआई लेवल 16 में जोड़ा गया |
पैरामीटर
e | वह एलिमेंट जिससे डेटा पाना है. |
---|---|
अनुक्रमणिका | सब-एलिमेंट का इंडेक्स. |
नाम | नाम को सेव करने के लिए ऐरे का पता. |
nameLength | दिए गए नाम के कलेक्शन की लंबाई. |
रिटर्न
कॉपी किए गए वर्णों की संख्या. इसमें शून्य वाला टर्मिनेटर शामिल नहीं है. |
कॉम्प्लेक्स एलिमेंट के लिए, यह फ़ंक्शन तय किए गए इंडेक्स पर मौजूद सब-एलिमेंट का नाम दिखाता है.
rsElementGetSubElementNameLength : किसी सब-एलिमेंट के नाम की लंबाई
uint32_t rsElementGetSubElementNameLength(rs_element e, uint32_t index); | एपीआई लेवल 16 में जोड़ा गया |
पैरामीटर
e | वह एलिमेंट जिससे डेटा पाना है. |
---|---|
अनुक्रमणिका | सब-एलिमेंट का इंडेक्स. |
रिटर्न
सब-एलिमेंट के नाम की लंबाई, जिसमें शून्य टर्मिनेटर भी शामिल है. |
कॉम्प्लेक्स एलिमेंट के लिए, यह फ़ंक्शन तय किए गए इंडेक्स पर सब-एलिमेंट के नाम की लंबाई दिखाता है.
rsElementGetSubElementOffsetBytes : इंस्टैंशिएट किए गए सब-एलिमेंट का ऑफ़सेट
uint32_t rsElementGetSubElementOffsetBytes(rs_element e, uint32_t index); | एपीआई लेवल 16 में जोड़ा गया |
पैरामीटर
e | वह एलिमेंट जिससे डेटा पाना है. |
---|---|
अनुक्रमणिका | सब-एलिमेंट का इंडेक्स. |
रिटर्न
बाइट में ऑफ़सेट. |
यह फ़ंक्शन, एलिमेंट के इंस्टैंशिएशन में दिए गए सब-एलिमेंट के इंस्टैंशिएशन की रिलेटिव पोज़िशन दिखाता है.
उदाहरण के लिए, अगर एलिमेंट में 32 बिट का फ़्लोट और उसके बाद 32 बिट का इंटिजर है, तो पहले के लिए ऑफ़सेट रिटर्न 0 और दूसरे के लिए 4 होगा.
rsElementGetVectorSize : एलिमेंट का वेक्टर साइज़
uint32_t rsElementGetVectorSize(rs_element e); | एपीआई लेवल 16 में जोड़ा गया |
पैरामीटर
e | वह एलिमेंट जिससे डेटा पाना है. |
---|
रिटर्न
एलिमेंट वेक्टर की लंबाई. |
एलिमेंट के वेक्टर का साइज़ दिखाता है. अगर एलिमेंट किसी वेक्टर को दिखाता नहीं है, तो 1 दिखाया जाता है.
rsGetAllocation : किसी दिए गए पॉइंटर के लिए ऐलोकेशन दिखाता है
rs_allocation rsGetAllocation(const void* p); |
अब काम नहीं करता. यह फ़ंक्शन बंद कर दिया गया है. आने वाले समय में, SDK टूल की रिलीज़ से इसे हटा दिया जाएगा.
किसी पॉइंटर के लिए, ऐलोकेशन दिखाता है. पॉइंटर, किसी मान्य ऐलोकेशन में होना चाहिए. अगर पॉइंटर किसी मान्य ऐलोकेशन से नहीं है, तो नतीजे तय नहीं किए जाते.
rsIsObject : खाली हैंडल की जांच करना
bool rsIsObject(rs_allocation v); | |
bool rsIsObject(rs_element v); | |
bool rsIsObject(rs_font v); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
bool rsIsObject(rs_mesh v); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
bool rsIsObject(rs_program_fragment v); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
bool rsIsObject(rs_program_raster v); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
bool rsIsObject(rs_program_store v); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
bool rsIsObject(rs_program_vertex v); | 32 बिट के लिए कंपाइल करते समय. एपीआई लेवल 23 और उसके बाद के वर्शन से हटाया गया |
bool rsIsObject(rs_sampler v); | |
bool rsIsObject(rs_script v); | |
bool rsIsObject(rs_type v); |
अगर हैंडल में कोई नॉन-शून्य रेफ़रंस मौजूद है, तो यह फ़ंक्शन True दिखाता है.
यह फ़ंक्शन इस बात की पुष्टि नहीं करता कि हैंडल में इस्तेमाल किया गया इंटरनल पॉइंटर, किसी मान्य ऑब्जेक्ट पर ले जाता है या नहीं. यह सिर्फ़ null की जांच करता है.
इस फ़ंक्शन का इस्तेमाल, rsElementGetSubElement() से मिले एलिमेंट की जांच करने या यह देखने के लिए किया जा सकता है कि किसी हैंडल पर rsClearObject() को कॉल किया गया है या नहीं.
rsSamplerGetAnisotropy : सैंपलर का ऐनिसोट्रॉपी
float rsSamplerGetAnisotropy(rs_sampler s); | एपीआई लेवल 16 में जोड़ा गया |
सैंपलर का ऐनिसॉट्रॉपी (एक ही दिशा में नहीं होने वाला) पाएं.
android.renderscript.S देखें.
rsSamplerGetMagnification : सैंपलर की ज़ूम करने की वैल्यू
rs_sampler_value rsSamplerGetMagnification(rs_sampler s); | एपीआई लेवल 16 में जोड़ा गया |
सैंपलर की मैग्नीफ़िकेशन वैल्यू पाएं.
android.renderscript.S देखें.
rsSamplerGetMinification : सैंपलर की छोटी की गई वैल्यू
rs_sampler_value rsSamplerGetMinification(rs_sampler s); | एपीआई लेवल 16 में जोड़ा गया |
सैंपलर की छोटी की गई वैल्यू पाएं.
android.renderscript.S देखें.
rsSamplerGetWrapS : सैंपलर रैप S वैल्यू
rs_sampler_value rsSamplerGetWrapS(rs_sampler s); | एपीआई लेवल 16 में जोड़ा गया |
सैंपलर की रैप S वैल्यू पाएं.
android.renderscript.S देखें.
rsSamplerGetWrapT : सैंपलर की रैप टी वैल्यू
rs_sampler_value rsSamplerGetWrapT(rs_sampler s); | एपीआई लेवल 16 में जोड़ा गया |
सैंपलर की रैप टी वैल्यू पाएं.
android.renderscript.S देखें.