রেন্ডারস্ক্রিপ্ট অবজেক্টের বৈশিষ্ট্য ফাংশন

ওভারভিউ

নীচের ফাংশনগুলি একটি বরাদ্দ, উপাদান, বা নমুনা বস্তুর বৈশিষ্ট্যগুলি অনুসন্ধান করতে ব্যবহার করা যেতে পারে। এই বস্তুগুলো জাভা থেকে তৈরি করা হয়েছে। আপনি একটি স্ক্রিপ্ট থেকে তাদের তৈরি করতে পারবেন না.

বরাদ্দ:

রেন্ডারস্ক্রিপ্ট কার্নেলগুলিতে এবং থেকে ডেটা পাস করার জন্য বরাদ্দকরণ হল প্রাথমিক পদ্ধতি।

এগুলি হল কোষগুলির একটি কাঠামোগত সংগ্রহ যা বিটম্যাপ, টেক্সচার, নির্বিচারে ডেটা পয়েন্ট ইত্যাদি সংরক্ষণ করতে ব্যবহার করা যেতে পারে।

কোষের এই সংগ্রহের অনেক মাত্রা থাকতে পারে (X, Y, Z, Array0, Array1, Array2, Array3), মুখগুলি (কিউবম্যাপের জন্য), এবং বিবরণের স্তর (মিপম্যাপিংয়ের জন্য)।

বরাদ্দ তৈরি করতে বিস্তারিত জানতে android.renderscript.Allocation দেখুন।

উপাদান:

রেন্ডারস্ক্রিপ্টে "এলিমেন্ট" শব্দটি কিছুটা অস্পষ্টভাবে ব্যবহার করা হয়, কারণ একটি বরাদ্দকরণের ঘরের জন্য তথ্য এবং সেই ধরনের ইনস্ট্যান্টেশন উভয় প্রকারের তথ্য। উদাহরণ স্বরূপ:

  • rs_element হল একটি টাইপ স্পেসিফিকেশনের একটি হ্যান্ডেল, এবং
  • rsGetElementAt () এর মত ফাংশনে "এলিমেন্ট" এর অর্থ হল টাইপের ইনস্ট্যান্টিয়েশন, অর্থাৎ একটি বরাদ্দের একটি ঘর।

নীচের ফাংশনগুলি আপনাকে টাইপ স্পেসিফিকেশনের বৈশিষ্ট্যগুলি জিজ্ঞাসা করতে দেয়।

একটি উপাদান সি-তে পাওয়া একটি সাধারণ ডেটা টাইপ নির্দিষ্ট করতে পারে, যেমন একটি পূর্ণসংখ্যা, ফ্লোট বা বুলিয়ান। এটি একটি রেন্ডারস্ক্রিপ্ট অবজেক্টের একটি হ্যান্ডেলও নির্দিষ্ট করতে পারে। মৌলিক প্রকারের তালিকার জন্য 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 নমুনা মোড়ানো টি মান
অপ্রচলিত ফাংশন
rsGetAllocation অবজ্ঞাত । প্রদত্ত পয়েন্টারের জন্য বরাদ্দ ফেরত দিন

ফাংশন

rsAllocationGetDimFaces : একাধিক মুখের উপস্থিতি

uint32_t rsAllocationGetDimFaces( rs_allocation a);
রিটার্নস
একাধিক মুখ উপস্থিত থাকলে 1 ফেরত দেয়, অন্যথায় 0।

যদি বরাদ্দ একটি কিউবম্যাপ হয়, তবে একাধিক মুখ উপস্থিত থাকলে এই ফাংশনটি 1 প্রদান করে। অন্য সব ক্ষেত্রে, এটি 0 প্রদান করে।

বর্তমানে চলমান কার্নেলের মাত্রা পেতে rsGetDimHasFaces () ব্যবহার করুন।

rsAllocationGetDimLOD : বিস্তারিত স্তরের উপস্থিতি

uint32_t rsAllocationGetDimLOD( rs_allocation a);
রিটার্নস
একাধিক LOD উপস্থিত থাকলে 1 ফেরত দেয়, অন্যথায় 0।

একাধিক স্তরের বিস্তারিত উপস্থিতির জন্য একটি বরাদ্দ জিজ্ঞাসা করুন। এটি মিপম্যাপের জন্য দরকারী।

বর্তমানে চলমান কার্নেলের মাত্রা পেতে 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);
পরামিতি
থেকে ডেটা পেতে বরাদ্দ।
রিটার্নস
বরাদ্দ লেআউট বর্ণনাকারী উপাদান।

একটি বরাদ্দের একটি ঘরের ধরন, প্রকার এবং অন্যান্য বৈশিষ্ট্য বর্ণনা করে এলিমেন্ট অবজেক্ট পান। নিচে rsElement* ফাংশন দেখুন।

rsClearObject : একটি বস্তু ছেড়ে দিন

void rsClearObject( rs_allocation * dst);
void rsClearObject( rs_element * dst);
void rsClearObject( rs_font * dst); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
void rsClearObject( rs_mesh * dst); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
void rsClearObject( rs_program_fragment * dst); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
void rsClearObject( rs_program_raster * dst); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
void rsClearObject( rs_program_store * dst); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
void rsClearObject( rs_program_vertex * dst); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 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); API স্তর 16 এ যোগ করা হয়েছে

এই এলিমেন্টের একটি ইন্সট্যান্টিয়েশন দখল করবে এমন বাইটে সাইজ প্রদান করে।

rsElementGetDataKind : একটি উপাদানের প্রকার

rs_data_kind rsElementGetDataKind( rs_element e); API স্তর 16 এ যোগ করা হয়েছে

এলিমেন্টের ডেটা প্রকার প্রদান করে। এটি পিক্সেল ডেটা ব্যাখ্যা করতে ব্যবহৃত হয়।

rs_data_kind দেখুন।

rsElementGetDataType : একটি উপাদানের ডেটা টাইপ

rs_data_type rsElementGetDataType( rs_element e); API স্তর 16 এ যোগ করা হয়েছে

এলিমেন্টের বেস ডেটা টাইপ প্রদান করে। এটি C/C++ (যেমন RS_TYPE_UNSIGNED_8), একটি হ্যান্ডেল (যেমন RS_TYPE_ALLOCATION এবং RS_TYPE_ELEMENT), বা আরও জটিল সংখ্যাসূচক প্রকার (যেমন RS_TYPE_UNSIGNED_5_6_5 এবং RS_TYPE_4_MATRIX) এর মতো হতে পারে। rs_data_type দেখুন।

যদি উপাদানটি একটি ভেক্টরকে বর্ণনা করে, তাহলে এই ফাংশনটি তার একটি আইটেমের ডেটা টাইপ প্রদান করে। ভেক্টরের আকার পেতে rsElementGetVectorSize ব্যবহার করুন।

যদি উপাদানটি একটি কাঠামো বর্ণনা করে, RS_TYPE_NONE ফেরত দেওয়া হয়। এই জটিল উপাদানটি অন্বেষণ করতে rsElementGetSub* ফাংশন ব্যবহার করুন।

rsElementGetSubElement : একটি জটিল উপাদানের উপ-উপাদান

rs_element rsElementGetSubElement( rs_element e, uint32_t সূচক); API স্তর 16 এ যোগ করা হয়েছে
পরামিতি
e প্রশ্ন করার উপাদান।
সূচক উপ-উপাদানের সূচী ফেরত দিতে হবে।
রিটার্নস
প্রদত্ত সূচকে উপ-উপাদান।

উপাদানগুলির জন্য যা একটি কাঠামোর প্রতিনিধিত্ব করে, এই ফাংশনটি নির্দিষ্ট সূচকে উপ-উপাদান প্রদান করে।

যদি উপাদানটি একটি কাঠামো না হয় বা সূচকটি উপ-উপাদানের সংখ্যার সমান বা সমান হয়, তাহলে একটি অবৈধ হ্যান্ডেল ফেরত দেওয়া হয়।

rsElementGetSubElementArraySize : একটি জটিল উপাদানের একটি উপ-উপাদানের অ্যারের আকার

uint32_t rsElementGetSubElementArraySize( rs_element e, uint32_t সূচক); API স্তর 16 এ যোগ করা হয়েছে
পরামিতি
e প্রশ্ন করার উপাদান।
সূচক উপ-উপাদানের সূচক।
রিটার্নস
উপ-উপাদানের অ্যারের আকার।

জটিল উপাদানগুলির জন্য, উপ-উপাদানগুলি স্ট্যাটিক আকারের অ্যারে হতে পারে। এই ফাংশনটি সূচকে সাব-এলিমেন্টের অ্যারের আকার প্রদান করে। এই উপ-উপাদানের পুনরাবৃত্তি স্থির আকারের ভেক্টরের চেয়ে আলাদা।

rsElementGetSubElementCount : উপ-উপাদানের সংখ্যা

uint32_t rsElementGetSubElementCount( rs_element e); API স্তর 16 এ যোগ করা হয়েছে
পরামিতি
e উপাদান থেকে তথ্য পেতে.
রিটার্নস
উপ-উপাদানের সংখ্যা।

উপাদানগুলি সহজ হতে পারে, যেমন একটি int বা একটি ফ্লোট বা একাধিক উপ-উপাদান সহ একটি কাঠামো। এই ফাংশনটি সাধারণ উপাদানগুলির জন্য শূন্য এবং জটিল উপাদানগুলির জন্য উপ-উপাদানের সংখ্যা প্রদান করে।

rsElementGetSubElementName : একটি উপ-উপাদানের নাম

uint32_t rsElementGetSubElementName( rs_element e, uint32_t সূচক, char* নাম, uint32_t নামের দৈর্ঘ্য); API স্তর 16 এ যোগ করা হয়েছে
পরামিতি
e উপাদান থেকে তথ্য পেতে.
সূচক উপ-উপাদানের সূচক।
নাম নাম সংরক্ষণ করার জন্য অ্যারের ঠিকানা।
নামের দৈর্ঘ্য প্রদত্ত নাম বিন্যাসের দৈর্ঘ্য।
রিটার্নস
নাল টার্মিনেটর বাদ দিয়ে কপি করা অক্ষরের সংখ্যা।

জটিল উপাদানগুলির জন্য, এই ফাংশনটি নির্দিষ্ট সূচকে উপ-উপাদানের নাম প্রদান করে।

rsElementGetSubElementNameLength : একটি উপ-উপাদানের নামের দৈর্ঘ্য

uint32_t rsElementGetSubElementNameLength( rs_element e, uint32_t সূচক); API স্তর 16 এ যোগ করা হয়েছে
পরামিতি
e উপাদান থেকে তথ্য পেতে.
সূচক উপ-উপাদানের সূচক।
রিটার্নস
নাল টার্মিনেটর সহ সাব-এলিমেন্ট নামের দৈর্ঘ্য।

জটিল উপাদানগুলির জন্য, এই ফাংশনটি নির্দিষ্ট সূচকে উপ-উপাদানের নামের দৈর্ঘ্য প্রদান করে।

rsElementGetSubElementOffsetBytes : তাত্ক্ষণিক উপ-উপাদানের অফসেট

uint32_t rsElementGetSubElementOffsetBytes( rs_element e, uint32_t সূচক); API স্তর 16 এ যোগ করা হয়েছে
পরামিতি
e উপাদান থেকে তথ্য পেতে.
সূচক উপ-উপাদানের সূচক।
রিটার্নস
বাইটে অফসেট।

এই ফাংশনটি এলিমেন্টের ইনস্ট্যান্টিয়েশনের মধ্যে নির্দিষ্ট সাব-এলিমেন্টের ইনস্ট্যান্টেশনের আপেক্ষিক অবস্থান প্রদান করে।

উদাহরণ স্বরূপ, যদি এলিমেন্টটি একটি 32 বিট ফ্লোট এবং একটি 32 বিট পূর্ণসংখ্যার বর্ণনা করে, তাহলে প্রথমটির অফসেট রিটার্ন হবে 0 এবং দ্বিতীয়টি 4।

rsElementGetVectorSize : উপাদানটির ভেক্টর আকার

uint32_t rsElementGetVectorSize( rs_element e); API স্তর 16 এ যোগ করা হয়েছে
পরামিতি
e উপাদান থেকে তথ্য পেতে.
রিটার্নস
মৌল ভেক্টরের দৈর্ঘ্য।

এলিমেন্টের ভেক্টর সাইজ প্রদান করে। যদি উপাদান একটি ভেক্টর প্রতিনিধিত্ব না করে, 1 প্রদান করা হয়।

rsGetAllocation : একটি প্রদত্ত পয়েন্টারের জন্য বরাদ্দ ফেরত দিন

rs_allocation rsGetAllocation(const void* p);

অবচয়। এই ফাংশনটি বন্ধ করা হয়েছে এবং ভবিষ্যতে রিলিজে SDK থেকে সরানো হবে।

একটি প্রদত্ত পয়েন্টারের জন্য বরাদ্দ প্রদান করে। পয়েন্টার একটি বৈধ বরাদ্দ মধ্যে নির্দেশ করা উচিত. পয়েন্টার একটি বৈধ বরাদ্দ থেকে না হলে ফলাফলগুলি অনির্ধারিত।

rsIsObject : একটি খালি হ্যান্ডেলের জন্য পরীক্ষা করুন

bool rsIsObject( rs_অ্যালোকেশন v);
bool rsIsObject( rs_element v);
bool rsIsObject( rs_font v); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
bool rsIsObject( rs_mesh v); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
bool rsIsObject( rs_program_fragment v); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
bool rsIsObject( rs_program_raster v); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
bool rsIsObject( rs_program_store v); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
bool rsIsObject( rs_program_vertex v); 32 বিটের জন্য কম্পাইল করার সময়। API স্তর 23 এবং উচ্চতর থেকে সরানো হয়েছে৷
bool rsIsObject( rs_sampler v);
bool rsIsObject( rs_script v);
bool rsIsObject( rs_type v);

হ্যান্ডেলটিতে একটি নন-নাল রেফারেন্স থাকলে সত্য দেখায়।

এই ফাংশনটি যাচাই করে না যে হ্যান্ডেলটিতে ব্যবহৃত অভ্যন্তরীণ পয়েন্টারটি একটি প্রকৃত বৈধ বস্তুর দিকে নির্দেশ করে; এটা শুধুমাত্র নাল জন্য চেক.

এই ফাংশনটি rsElementGetSubElement () দ্বারা প্রত্যাবর্তিত উপাদান পরীক্ষা করতে বা rsClearObject () একটি হ্যান্ডেলে কল করা হয়েছে কিনা তা দেখতে ব্যবহার করা যেতে পারে।

rsSamplerGetAnisotropy : স্যাম্পলারের অ্যানিসোট্রপি

float rsSamplerGetAnisotropy( rs_sampler s); API স্তর 16 এ যোগ করা হয়েছে

স্যাম্পলারের অ্যানিসোট্রপি পান।

android.renderscript.S দেখুন।

rsSamplerGetMagnification : স্যাম্পলার ম্যাগনিফিকেশন মান

rs_sampler_value rsSamplerGetMagnification( rs_sampler s); API স্তর 16 এ যোগ করা হয়েছে

স্যাম্পলারের ম্যাগনিফিকেশন মান পান।

android.renderscript.S দেখুন।

rsSamplerGetMinification : স্যাম্পলার মিনিফিকেশন মান

rs_sampler_value rsSamplerGetMinification( rs_sampler s); API স্তর 16 এ যোগ করা হয়েছে

স্যাম্পলারের মিনিফিকেশন মান পান।

android.renderscript.S দেখুন।

rsSamplerGetWrapS : নমুনা মোড়ানো S মান

rs_sampler_value rsSamplerGetWrapS( rs_sampler s); API স্তর 16 এ যোগ করা হয়েছে

স্যাম্পলারের মোড়ানো এস মান পান।

android.renderscript.S দেখুন।

rsSamplerGetWrapT : নমুনা মোড়ানো T মান

rs_sampler_value rsSamplerGetWrapT( rs_sampler s); API স্তর 16 এ যোগ করা হয়েছে

স্যাম্পলারের মোড়ানো টি মান পান।

android.renderscript.S দেখুন।