نظرة عامة
يمكن استخدام الدوال أدناه للاستعلام عن خصائص كائن التوزيع أو العنصر أو العينة. تم إنشاء هذه الكائنات من Java. ولا يمكنك إنشاؤها من نص برمجي.
التخصيصات:
تُعد التخصيصات الطريقة الأساسية المستخدمة لتمرير البيانات من وإلى نواة RenderScript.
إنها مجموعة منظمة من الخلايا التي يمكن استخدامها لتخزين الصور النقطية والزخارف ونقاط البيانات العشوائية وما إلى ذلك.
قد تحتوي هذه المجموعة من الخلايا على العديد من الأبعاد (X وY وZ وصفيف 0 وصفيف1 وصفيف 2 ومصفوفة 3) ووجوه (للخرائط المكعبة) ومستوى التفاصيل (للتمثيل البصري).
يُرجى الاطّلاع على android.renderscript.Allocation للحصول على تفاصيل حول إنشاء التوزيعات.
العناصر:
يُستخدم مصطلح "عنصر" بشكل غامض بعض الشيء في RenderScript، حيث يُستخدم كمعلومات نوعية لخلايا التخصيص وإنشاء مثيل لهذا النوع. مثلاً:
- rs_element هو مؤشر لمواصفات النوع
- في دوال مثل rsGetElementAt() ، يشير العنصر "element" إلى إنشاء مثيل للنوع، أي خلية من تخصيص.
تتيح لك الدوال أدناه الاستعلام عن خصائص مواصفات النوع.
يمكن للعنصر تحديد أنواع بيانات بسيطة كما هو موجود في C، على سبيل المثال، عدد صحيح أو عدد عائم أو منطقي. ويمكنها أيضًا تحديد اسم معرِّف لكائن RenderScript. راجِع rs_data_type للحصول على قائمة بالأنواع الأساسية.
يمكن للعناصر تحديد إصدارات متجه ذات حجم ثابت (بالحجم 2 أو 3 أو 4) من الأنواع الأساسية. يمكن تجميع العناصر معًا في عناصر معقدة، لإنشاء ما يكافئ تعريفات البنية C.
يمكن أن يكون للعناصر أيضًا من النوع، وهو معلومات دلالية تستخدم لتفسير بيانات البكسل. يُرجى الاطّلاع على rs_data_kind.
عند إنشاء تخصيصات للعناصر الشائعة، يمكنك ببساطة استخدام أحد العناصر العديدة المُحددة سابقًا مثل F32_2.
لإنشاء عناصر معقدة، استخدم فئة Java Element.Builder.
عيّنات:
تحدد كائنات العيّنات كيفية قراءة التخصيصات كبنية داخل نواة. يمكنك الاطّلاع على android.renderscript.S.
ملخّص
الدوال | |
---|---|
rsAllocationGetDimFaces | وجود أكثر من وجه واحد |
rsAllocationGetDimLOD | توفُّر مستويات التفاصيل |
rsAllocationGetDimX | حجم البُعد "س" |
rsAllocationGetDimY | حجم البُعد "ص" |
rsAllocationGetDimZ | حجم البُعد Z |
rsAllocationGetElement | الحصول على الكائن الذي يصف خلية التخصيص |
rsClearObject | تحرير كائن |
rsElementGetBytesSize | حجم عنصر |
rsElementGetDataKind | نوع العنصر |
rsElementGetDataType | نوع بيانات العنصر |
rsElementGetSubElement | عنصر فرعي لعنصر معقد |
rsElementGetSubElementArraySize | حجم المصفوفة لعنصر فرعي من عنصر مركّب |
rsElementGetSubElementCount | عدد العناصر الفرعية |
rsElementGetSubElementName | اسم عنصر فرعي |
rsElementGetSubElementNameLength | طول اسم العنصر الفرعي |
rsElementGetSubElementOffsetBytes | إزاحة العنصر الفرعي الذي تم إنشاء مثيل له |
rsElementGetVectorSize | حجم الخط المتجه للعنصر |
rsIsObject | التأكّد من عدم توفّر اسم معرِّف |
rsعيّنات متباينة الخواص | متباين الخواص في العينة |
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 في حالة وجود أكثر من LOD، وتعرض 0 في الحالات الأخرى. |
الاستعلام عن تخصيص لوجود أكثر من مستوى واحد من التفاصيل. هذا مفيد لخرائط mipmaps.
استخدِم rsGetDimLod() للحصول على بُعد نواة قيد التشغيل حاليًا.
rsAllocationGetDimX : حجم السمة "س"
uint32_t rsAllocationGetDimX(rs_allocation a); |
الركلات المردودة
البُعد "س" للتخصيص. |
لعرض حجم البُعد "س" للتخصيص.
استخدِم rsGetDimX() للحصول على بُعد النواة قيد التشغيل حاليًا.
rsAllocationGetDimY : حجم السمة ص
uint32_t rsAllocationGetDimY(rs_allocation a); |
الركلات المردودة
البعد ص للتخصيص. |
تعرض حجم البعد "ص" للتخصيص. إذا كان التخصيص يحتوي على أقل من بعدَين، يتم عرض 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_segment* dst); | عند تجميع البيانات لمدة 32 بت. تمّت الإزالة من المستوى 23 من واجهة برمجة التطبيقات والمستويات الأعلى |
void rsClearObject(rs_program_raster* dst); | عند تجميع البيانات لمدة 32 بت. تمّت الإزالة من المستوى 23 من واجهة برمجة التطبيقات والمستويات الأعلى |
void rsClearObject(rs_program_store* dst); | عند تجميع البيانات لمدة 32 بت. تمّت الإزالة من المستوى 23 من واجهة برمجة التطبيقات والمستويات الأعلى |
void rsClearObject(rs_program_VERex* 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 | العنصر الذي سيتم الحصول على البيانات منه |
---|
الركلات المردودة
عدد العناصر الفرعية. |
يمكن أن تكون العناصر بسيطة، مثل عدد صحيح أو عدد عشري، أو بنية تحتوي على عناصر فرعية متعددة. تعرض هذه الدالة صفرًا للعناصر البسيطة وعدد العناصر الفرعية للعناصر المعقدة.
rsElementGetSubElementName : اسم عنصر فرعي
uint32_t rsElementGetSubElementName(rs_element e, uint32_t index, char* name, uint32_t nameLength)، | تمّت الإضافة في المستوى 16 من واجهة برمجة التطبيقات |
المعلّمات
e | العنصر الذي سيتم الحصول على البيانات منه |
---|---|
الفهرس | فهرس العنصر الفرعي |
اسم | عنوان الصفيف الذي سيتم تخزين الاسم فيه. |
طول الاسم | طول مصفوفة الاسم المقدّمة. |
الركلات المردودة
عدد الأحرف التي تم نسخها، باستثناء فاصل النهاية الفارغ. |
بالنسبة إلى العناصر المعقدة، تعرض هذه الدالة اسم العنصر الفرعي في الفهرس المحدد.
rsElementGetSubElementNameLength : طول اسم العنصر الفرعي
uint32_t rsElementGetSubElementNameLength(rs_element e, uint32_t index)، | تمّت الإضافة في المستوى 16 من واجهة برمجة التطبيقات |
المعلّمات
e | العنصر الذي سيتم الحصول على البيانات منه |
---|---|
الفهرس | فهرس العنصر الفرعي |
الركلات المردودة
طول اسم العنصر الفرعي بما في ذلك فاصل النهاية الفارغ. |
بالنسبة إلى العناصر المعقدة، تعرض هذه الدالة طول اسم العنصر الفرعي في الفهرس المحدد.
rsElementGetSubElementOffsetBytes : إزاحة العنصر الفرعي الذي تم إنشاء مثيل له
uint32_t rsElementGetSubElementOffsetBytes(rs_element e, uint32_t); | تمّت الإضافة في المستوى 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_segment v); | عند تجميع البيانات لمدة 32 بت. تمّت الإزالة من المستوى 23 من واجهة برمجة التطبيقات والمستويات الأعلى |
bool rsIsObject(rs_program_raster v); | عند تجميع البيانات لمدة 32 بت. تمّت الإزالة من المستوى 23 من واجهة برمجة التطبيقات والمستويات الأعلى |
bool rsIsObject(rs_program_store v); | عند تجميع البيانات لمدة 32 بت. تمّت الإزالة من المستوى 23 من واجهة برمجة التطبيقات والمستويات الأعلى |
bool rsIsObject(rs_program_VERex v); | عند تجميع البيانات لمدة 32 بت. تمّت الإزالة من المستوى 23 من واجهة برمجة التطبيقات والمستويات الأعلى |
bool rsIsObject(rs_sampler v); | |
bool rsIsObject(rs_script v); | |
bool rsIsObject(rs_type v); |
تعرِض هذه القيمة true إذا كان الاسم المعرِّف يحتوي على مرجع غير فارغ.
لا تتحقق هذه الدالة من أن المؤشر الداخلي المستخدَم في المقبض يشير إلى كائن صالح فعلي، فهي تبحث فقط عن القيمة "فارغ".
يمكن استخدام هذه الدالة للتحقّق من العنصر الذي يعرضه rsElementGetSubElement() أو لمعرفة ما إذا تم استدعاء rsClearObject() على مؤشر.
rsSamplerGetAnحتىtropy : تباين عيّنة العينة
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 : قيمة T لالتفاف العينة
rs_sampler_value rssamplerGetWrapT(rs_sampler s); | تمّت الإضافة في المستوى 16 من واجهة برمجة التطبيقات |
احصل على قيمة T التفاف العينة.
يمكنك الاطّلاع على android.renderscript.S.