نظرة عامة
يمكن استخدام الدوال أدناه للحصول على الخلايا التي يتألف منها التخصيص وتعيينها.
- يمكن الوصول إلى الخلايا الفردية باستخدام الدالتين rsGetElementAt* وrsSetElementAt.
- يمكن نسخ عدة خلايا باستخدام الدالتين rsAllocationCopy* وrsAllocationV* .
- للحصول على القيم من خلال عيّنة، استخدِم rsعيّنة.
ملخّص
الدوال | |
---|---|
rsAllocationCopy1DRange | نسخ الخلايا المتتالية بين عمليات التوزيع |
rsAllocationCopy2DRange | نسخ منطقة خلايا مستطيلة بين عمليات التخصيص |
rsAllocationVLoadX | الحصول على متجه من خلال توزيع الكميات القياسية |
rsAllocationVStoreX | تخزين متجه في توزيع الكميات القياسية |
rsGetElementAt | إرجاع خلية من تخصيص |
rsGetElementAtYuv_uchar_U | الحصول على المكوِّن U لتوزيع YUV |
rsGetElementAtYuv_uchar_V | الحصول على المكوِّن V لتوزيع YUV |
rsGetElementAtYuv_uchar_Y | الحصول على المكوّن Y لتخصيص قيم YUV |
عيّنة | أخذ قيمة من تخصيص بنية |
rsSetElementAt | ضبط خلية لعملية تخصيص |
الدوال
rsAllocationCopy1DRange : نسخ الخلايا المتتالية بين عمليات التوزيع
void rsAllocationCopy1DRange(rs_allocation dstAlloc, uint32_t dstOff, uint32_t dstMip, uint32_t count, rs_allocation srcAlloc, uint32_t srcOff, uint32_t); | تمّت الإضافة في المستوى 14 من واجهة برمجة التطبيقات |
المعلّمات
dstAlloc | تخصيص لنسخ الخلايا إليه. |
---|---|
إيقاف تشغيل | إزاحة في وجهة أول خلية سيتم النسخ إليها. |
ملف dstMip | مستوى Mip في تخصيص الوجهة. 0 في حال عدم استخدام تعيين mip. |
العدد | عدد الخلايا المراد نسخها. |
srcAlloc | تخصيص المصدر. |
إيقاف/تفعيل | إزاحة في مصدر الخلية الأولى المراد نسخها. |
srcMip | مستوى Mip في تخصيص المصدر. 0 في حال عدم استخدام تعيين mip. |
لنسخ عدد الخلايا المحدد من عملية تخصيص إلى أخرى.
يجب أن تكون عمليتَا التخصيص مختلفتَين. يؤدي استخدام هذه الدالة للنسخ ضمن نفس التخصيص إلى نتائج غير محددة.
لا تتحقق الدالة مما إذا كان عدد الإزاحة بالإضافة إلى تجاوز حجم أي من التخصيصات. الرجاء توخي الحذر،
يجب استدعاء هذه الدالة فقط بين عمليات التوزيع أحادية الأبعاد. ويُعد استدعاؤه في التخصيصات الأخرى غير محدد.
لا ينبغي استدعاء هذه الدالة من داخل النواة، أو من أي دالة يمكن استدعاؤها بشكل مباشر أو غير مباشر من نواة. وسيؤدي ذلك إلى حدوث خطأ في وقت التشغيل.
rsAllocationCopy2DRange : نسخ منطقة مستطيلة من الخلايا بين عمليات التوزيع
{uint32_t dstXoff, uint32_t dstYoff, uint32_t dstMip, rs_allocation_cubemap_face dstFace, uint32_t{/12location} uint32_t{/12location} uint32_t{/11location} | تمّت الإضافة في المستوى 14 من واجهة برمجة التطبيقات |
المعلّمات
dstAlloc | تخصيص لنسخ الخلايا إليه. |
---|---|
شهادة dstXoff | الإزاحة X في وجهة المنطقة المطلوب تعيينها. |
dstYoff | إزاحة Y في وجهة المنطقة المطلوب تعيينها. |
ملف dstMip | مستوى Mip في تخصيص الوجهة. 0 في حال عدم استخدام تعيين mip. |
واجهة dstFace | الوجه المكعّب لتخصيص الوجهة يتم تجاهل التخصيصات التي لا تكون خرائط مكعّبة. |
width | عرض المنطقة الواردة المراد تعديلها |
الطول | ارتفاع المنطقة الواردة المراد تعديلها. |
srcAlloc | تخصيص المصدر. |
srcXoff | الإزاحة X في المصدر. |
srcYoff | إزاحة Y في المصدر. |
srcMip | مستوى Mip في تخصيص المصدر. 0 في حال عدم استخدام تعيين mip. |
srcFace | الوجه المكعّب لتخصيص المصدر يتم تجاهل التخصيصات التي لا تكون خرائط مكعّبة. |
لنسخ منطقة مستطيلة من الخلايا من تخصيص إلى آخر. يتم نسخ الخلايا (العرض * الارتفاع).
يجب أن تكون عمليتَا التخصيص مختلفتَين. يؤدي استخدام هذه الدالة للنسخ ضمن نفس التخصيص إلى نتائج غير محددة.
لا تتحقّق الدالة مما إذا كانت منطقة المصدر أو الوجهة تجاوزت حجم التخصيص ذي الصلة. الرجاء توخي الحذر،
يجب استدعاء هذه الدالة فقط بين عمليات التوزيع الثنائية الأبعاد. ويُعد استدعاؤه في التخصيصات الأخرى غير محدد.
لا ينبغي استدعاء هذه الدالة من داخل النواة، أو من أي دالة يمكن استدعاؤها بشكل مباشر أو غير مباشر من نواة. وسيؤدي ذلك إلى حدوث خطأ في وقت التشغيل.
rsAllocationVLoadX : الحصول على متجه من عملية توزيع الكميات القياسية
المعلّمات
a | التخصيص الذي سيتم الحصول على البيانات منه. |
---|---|
x | الإزاحة X في تخصيص الخلية الأولى التي سيتم النسخ منها. |
y | إزاحة Y في تخصيص الخلية الأولى التي سيتم النسخ منها. |
z | إزاحة Z في تخصيص الخلية الأولى التي سيتم النسخ منها. |
تُرجع هذه الدالة متجهًا مكونًا من خلايا متتالية للتخصيص. وتفترض أن التخصيص يحتوي على عدد قياسي.
تشير علامة "X" في الاسم إلى أنه يتم استخراج القيم المتتالية عن طريق زيادة فهرس X. لا توجد حاليًا دوال للحصول على قيم متتالية تزيد من الأبعاد الأخرى. استخدم استدعاءات متعددة لـ rsGetElementAt() بدلاً من ذلك.
على سبيل المثال، عند استدعاء rsAllocationVLoadX_int4(a, 20, 30)، يتم عرض int4 يتكون من a[20، 30] وa[21 و30] وa[22 و30] وa[23، 30].
عند استرداد البيانات من تخصيصات ثلاثية الأبعاد، استخدم الصيغ x وy وz. وبالمثل، استخدِم المتغيّر x وy لعمليات التخصيص الثنائية الأبعاد، وx للتخصيصات الأحادية الأبعاد.
لتحقيق الكفاءة، لا تتحقق هذه الدالة من صحة المدخلات. وتؤدي محاولة لف الفهرس X أو تجاوز حجم التخصيص أو استخدام الفهارس غير المتوافقة مع أبعاد التخصيص إلى الحصول على نتائج غير محددة.
راجِع أيضًا rsAllocationVStoreX().
rsAllocationVStoreX : تخزين متجه في عملية توزيع الكميات القياسية
المعلّمات
a | تخصيص تخزين البيانات فيه. |
---|---|
فال | القيمة المطلوب تخزينها |
x | الإزاحة X في تخصيص الخلية الأولى التي سيتم النسخ إليها. |
y | إزاحة Y في تخصيص الخلية الأولى التي سيتم النسخ إليها. |
z | إزاحة Z في تخصيص الخلية الأولى التي سيتم النسخ إليها. |
تُخزن هذه الدالة إدخالات المتجه في خلايا متتالية لأحد التخصيصات. وتفترض أن التخصيص يحتوي على عدد قياسي.
تشير "X" في الاسم إلى أنه يتم تخزين القيم المتتالية عن طريق زيادة فهرس X. لا توجد حاليًا دوال لتخزين القيم المتتالية التي تزيد من أبعاد أخرى. يمكنك استخدام عمليات استدعاء متعددة لـ rsSetElementAt() بدلاً من ذلك.
على سبيل المثال، عند استدعاء rsAllocationVStoreX_int3(a, v, 20, 30)، يتم تخزين v.x في a[20، 30]، وv.y في a[21، 30]، وv.z في a[22، 30].
عند التخزين في توزيعات ثلاثية الأبعاد، استخدم الصيغ x وy وz. وبالمثل، استخدِم المتغيّر x وy لعمليات التخصيص الثنائية الأبعاد، وx للتخصيصات الأحادية الأبعاد.
لتحقيق الكفاءة، لا تتحقق هذه الدالة من صحة المدخلات. وتؤدي محاولة التفاف الفهرس X، أو تجاوز حجم التخصيص، أو استخدام الفهارس غير المتوافقة مع أبعاد التخصيص إلى نتائج غير محددة.
راجِع أيضًا rsAllocationVLoadX().
rsGetElementAt : عرض خلية من تخصيص
char rsGetElementAt_char(rs_allocation a, uint32_t x); | |
char rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y)، | |
char rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
char2 rsGetElementAt_char2(rs_allocation a, uint32_t x)، | |
char2 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y)، | |
char2 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
char3 rsGetElementAt_char3(rs_allocation a, uint32_t x)، | |
char3 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y)، | |
char3 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
char4 rsGetElementAt_char4(rs_allocation a, uint32_t x)، | |
char4 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y)، | |
char4 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
Cont void* rsGetElementAt(rs_allocation a, uint32_t x); | |
Cont void* rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y); | |
Cont void* rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
مزدوجة rsGetElementAt_double(rs_allocation a, uint32_t x); | |
مزدوجة rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y)، | |
مزدوجة rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
double2 rsGetElementAt_double2(rs_allocation a, uint32_t x)، | |
double2 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y)، | |
double2 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
double3 rsGetElementAt_double3(rs_allocation a, uint32_t x)، | |
double3 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y)، | |
double3 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
double4 rsGetElementAt_double4(rs_allocation a, uint32_t x)، | |
double4 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y)، | |
double4 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
float rsGetElementAt_float(rs_allocation a, uint32_t x); | |
float rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y); | |
float rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
float2 rsGetElementAt_float2(rs_allocation a, uint32_t x)، | |
float2 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y)، | |
float2 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
float3 rsGetElementAt_float3(rs_allocation a, uint32_t x)، | |
float3 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y)، | |
float3 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
float4 rsGetElementAt_float4(rs_allocation a, uint32_t x)، | |
float4 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y)، | |
float4 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
half rsGetElementAt_half(rs_allocation a, uint32_t x)، | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y)، | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x)، | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y)، | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half2 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x)، | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y)، | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half3 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x)، | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y)، | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
half4 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | تمّت الإضافة في المستوى 23 من واجهة برمجة التطبيقات |
int rsGetElementAt_int(rs_allocation a, uint32_t x); | |
int rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y); | |
int rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
int2 rsGetElementAt_int2(rs_allocation a, uint32_t x)، | |
int2 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y)، | |
int2 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
int3 rsGetElementAt_int3(rs_allocation a, uint32_t x)، | |
int3 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y)، | |
int3 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
int4 rsGetElementAt_int4(rs_allocation a, uint32_t x)، | |
int4 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y)، | |
int4 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
long rsGetElementAt_long(rs_allocation a, uint32_t x); | |
long rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y); | |
long rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
long2 rsGetElementAt_long2(rs_allocation a, uint32_t x)، | |
long2 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y)، | |
long2 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
long3 rsGetElementAt_long3(rs_allocation a, uint32_t x)، | |
long3 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y)، | |
long3 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
long4 rsGetElementAt_long4(rs_allocation a, uint32_t x)، | |
long4 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y)، | |
long4 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
Short rsGetElementAt_short(rs_allocation a, uint32_t x); | |
Shorts rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y); | |
Short rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
short2 rsGetElementAt_short2(rs_allocation a, uint32_t x); | |
short2 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y); | |
short2 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
short3 rsGetElementAt_short3(rs_allocation a, uint32_t x); | |
short3 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y); | |
short3 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
short4 rsGetElementAt_short4(rs_allocation a, uint32_t x); | |
short4 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y); | |
short4 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
uchar rsGetElementAt_uchar(rs_allocation a, uint32_t x); | |
uchar rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y)، | |
uchar rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
uchar2 rsGetElementAt_uchar2(rs_allocation a, uint32_t x)، | |
uchar2 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y)، | |
uchar2 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
uchar3 rsGetElementAt_uchar3(rs_allocation a, uint32_t x)، | |
uchar3 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y)، | |
uchar3 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
uchar4 rsGetElementAt_uchar4(rs_allocation a, uint32_t x)، | |
uchar4 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y)، | |
uchar4 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
uint rsGetElementAt_uint(rs_allocation a, uint32_t x); | |
uint rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y); | |
uint rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
uint2 rsGetElementAt_uint2(rs_allocation a, uint32_t x); | |
uint2 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y); | |
uint2 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
uint3 rsGetElementAt_uint3(rs_allocation a, uint32_t x); | |
uint3 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y); | |
uint3 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
uint4 rsGetElementAt_uint4(rs_allocation a, uint32_t x); | |
uint4 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y); | |
uint4 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
ulong rsGetElementAt_ulong(rs_allocation a, uint32_t x)، | |
ulong rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y)، | |
ulong rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
ulong2 rsGetElementAt_ulong2(rs_allocation a, uint32_t x)، | |
ulong2 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y)، | |
ulong2 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
ulong3 rsGetElementAt_ulong3(rs_allocation a, uint32_t x)، | |
ulong3 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y)، | |
ulong3 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
ulong4 rsGetElementAt_ulong4(rs_allocation a, uint32_t x)، | |
ulong4 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y)، | |
ulong4 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
ushort rsGetElementAt_ushort(rs_allocation a, uint32_t x); | |
ushort rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y); | |
ushort rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
ushort2 rsGetElementAt_ushort2(rs_allocation a, uint32_t x); | |
ushort2 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y); | |
ushort2 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
ushort3 rsGetElementAt_ushort3(rs_allocation a, uint32_t x); | |
ushort3 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y); | |
ushort3 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); | |
ushort4 rsGetElementAt_ushort4(rs_allocation a, uint32_t x); | |
ushort4 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y); | |
ushort4 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z); |
تستخرج هذه الدالة خلية واحدة من التخصيص.
عند استرداد البيانات من تخصيصات ثلاثية الأبعاد، استخدم الصيغ x وy وz. وبالمثل، استخدِم المتغيّر x وy لعمليات التخصيص الثنائية الأبعاد، وx للتخصيصات الأحادية الأبعاد.
هذه الدالة لها نمطان. أحدهما يعرض عنوان القيمة باستخدام void*، والآخر يعرض القيمة الفعلية، على سبيل المثال rsGetElementAt() مقابل rsGetElementAt_int4(). بالنسبة إلى الأنواع الأساسية، استخدِم القيمة الأخيرة دائمًا لأنها أكثر كفاءة.
rsGetElementAtYuv_uchar_U : الحصول على المكوِّن U لتوزيع YUV
uchar rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y)، | تمّت الإضافة في المستوى 18 من واجهة برمجة التطبيقات |
لاستخراج المكوّن U لقيمة YUV واحدة من تخصيص ثنائي الأبعاد لوحدات YUV.
داخل التخصيص، يمكن تخزين مكونات Y وU وV إذا كانت مستويات مختلفة وبدرجات دقة مختلفة. الإحداثيات س، ص الواردة هنا هي في أبعاد المستوى ص.
يُرجى الاطّلاع على rsGetElementAtYuv_uchar_Y().
rsGetElementAtYuv_uchar_V : احصل على المكوِّن V لتوزيع YUV.
uchar rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y)، | تمّت الإضافة في المستوى 18 من واجهة برمجة التطبيقات |
لاستخراج العنصر V لقيمة YUV واحدة من تخصيص ثنائي الأبعاد لوحدات YUV.
داخل التخصيص، يمكن تخزين مكونات Y وU وV إذا كانت مستويات مختلفة وبدرجات دقة مختلفة. الإحداثيات س، ص الواردة هنا هي في أبعاد المستوى ص.
يُرجى الاطّلاع على rsGetElementAtYuv_uchar_Y().
rsGetElementAtYuv_uchar_Y : الحصول على المكوِّن Y لعملية توزيع YUV
uchar rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y)، | تمّت الإضافة في المستوى 18 من واجهة برمجة التطبيقات |
لاستخراج المكوّن Y لقيمة YUV واحدة من تخصيص ثنائي الأبعاد لوحدات YUV.
داخل التخصيص، يمكن تخزين مكونات Y وU وV إذا كانت مستويات مختلفة وبدرجات دقة مختلفة. الإحداثيات س، ص الواردة هنا هي في أبعاد المستوى ص.
يُرجى الاطّلاع على rsGetElementAtYuv_uchar_U() وrsGetElementAtYuv_uchar_V().
rsعيّن : عيّن قيمة من تخصيص بنية
float4 rsSample(rs_allocation a, rs_sampler s, float location); | تمّت الإضافة في المستوى 16 من واجهة برمجة التطبيقات |
float4 rsSample(rs_allocation a, rs_sampler s, float location, float lod); | تمّت الإضافة في المستوى 16 من واجهة برمجة التطبيقات |
float4 rsSample(rs_allocation a, rs_sampler s, float2 location); | تمّت الإضافة في المستوى 16 من واجهة برمجة التطبيقات |
float4 rsSample(rs_allocation a, rs_sampler s, float2 location, float lod); | تمّت الإضافة في المستوى 16 من واجهة برمجة التطبيقات |
المعلّمات
a | التخصيص للعينة منه. |
---|---|
s | حالة جهاز العيّنات. |
موقع جغرافي | الموقع الجغرافي المطلوب أخذ عيّنة منه |
اللد | سيتم إدخال مستوى Mip المطلوب أخذ عينات منه، بالنسبة إلى مستويات mip للقيم الكسرية، في حال استخدام RS_ هَلْR_LINEAR_MIP_LINEAR. |
لاسترجاع قيمة من تخصيص الزخرفة بطريقة تصفها أداة العيّنة.
إذا كانت قيمة التخصيص هي البُعد الواحد، استخدِم الصيغة التي تتضمّن عدد عائم للموقع الجغرافي. بالنسبة إلى العرض الثنائي الأبعاد، استخدِم الصيغة float2.
يمكنك الاطّلاع على android.renderscript.عيّنة للحصول على مزيد من التفاصيل.
rsSetElementAt : ضبط خلية لعملية تخصيص
تخزِّن هذه الدالة قيمة في خلية واحدة لعملية تخصيص.
عند التخزين في توزيعات ثلاثية الأبعاد، استخدم الصيغ x وy وz. وبالمثل، استخدم المتغيرين x وy لعمليات التخصيص الثنائية الأبعاد، وx للتوزيع الأحادي الأبعاد.
هذه الدالة لها نمطان. أحدهما يمرر القيمة المراد تخزينها باستخدام خالٍ*، والآخر له القيمة الفعلية كوسيطة، على سبيل المثال rsSetElementAt() مقابل rsSetElementAt_int4(). بالنسبة إلى الأنواع الأساسية، استخدم الأخير دائمًا لأنه أكثر كفاءة.
راجِع أيضًا rsGetElementAt().