টাইল-ভিত্তিক (মুলতুবি) রেন্ডারিংয়ের জন্য ডেটা স্ট্রাকচার


18

টাইলযুক্ত রেন্ডারিং আধুনিক মোবাইল জিপিইউ আর্কিটেকচারগুলিতে ছোট স্থানের (যেমন, 32x32 পিক্সেল) টাইলসের নিয়মিত গ্রিডে চিত্র স্পেস বিভাজন করে মেমরি অ্যাক্সেসের সুসংহতিকে বাড়ানোর জন্য ব্যবহৃত হয়। প্রতিটি টাইলের সাথে সম্পর্কিত আদিমগুলি ট্র্যাক করতে ব্যবহৃত ধরণের ডেটা স্ট্রাকচারের তথ্য অপ্রতুল, এটি বিবেচনা করে যে নির্বিচারে অনেক আদিম কোনও প্রদত্ত টাইলকে ওভারল্যাপ করতে পারে।

ড্রাইভার বিকাশকারীর দৃষ্টিতে, কোন টাইলের সাথে সম্পর্কিত আদিম সেটগুলি উপস্থাপন করতে সাধারণত কোন ডেটা স্ট্রাকচারগুলি ব্যবহৃত হয় এবং কোনও নির্দিষ্ট টাইলকে ওভারল্যাপ করে এমন জ্যামিতি অনুসারে এই জাতীয় কাঠামোকে গতিশীলভাবে বরাদ্দ / পুনরায় আকার দেওয়া হয়?


3
সত্যিই আকর্ষণীয় প্রশ্ন, এবং যদিও আমি সন্দেহ করি যে বেশিরভাগ কৌতুকপূর্ণ বিবরণ গোপন সস, তবে যে কেউ গবেষণাটি করতে চান এবং সংক্ষিপ্ত বিবরণ লিখতে চান তাদের পক্ষে এটি একটি ভাল জাম্পিং পয়েন্ট হতে পারে: blog.imgtec.com/powervr/…
জন কলসবেইক

উত্তর:


11

জন উল্লেখ করেছেন যে ব্লগ পোস্টটি বেশ ভাল একটি সূচনা (যদি আমি নিজেই তাই বলে থাকি!) তবে আরও কিছু বিশদ রয়েছে যা সহায়ক হতে পারে।

পাওয়ারভিআর আর্কিটেকচারের জন্য, অন্তর্বর্তী ডেটা স্ট্রাকচার - বিভিন্নভাবে আদিম তালিকা বা প্যারামিটার বাফার (পিবি) নামে পরিচিত - যা প্রতিটি টেক্সট শেডিং এবং টাইলিং প্রক্রিয়া সম্পূর্ণ হওয়ার পরে, প্রতি-টাইল ডেটা সঞ্চয় করে, আসলে বেশিরভাগই তৈরি এবং পরিচালিত হয় ড্রাইভারের পরিবর্তে হার্ডওয়্যার।

পিবি-র মেমরি স্ট্রাকচারগুলি শারীরিকভাবে দুটি ভাগে বিভক্ত। প্রথমত, ভার্টেক্স গুণাবলী সহ রূপান্তরিত ভার্টেক্সের ডেটাগুলির ব্লক। ব্লকগুলি সংকুচিত হয় এবং আপনি কল্পনা করতে পারেন যে এগুলি বেশিরভাগ অংশে কেবল প্যাকড এবং সংক্রমিত ফ্লোটিং পয়েন্ট ডেটা। দ্বিতীয় ইন-মেমরি কাঠামোটি হ'ল টাইলিং ডেটা, যা কার্যকরভাবে তালিকার একটি তালিকা।

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

জিবিইউ পিবির জন্য যে স্মৃতি ব্যবহার করে তা সমস্ত আধুনিক পাওয়ারভিআর বাস্তবায়নে গতিশীলভাবে বরাদ্দ করা হয়। সেই মেমোরিটির একটি পয়েন্টার ড্রাইভার সরবরাহ করে এবং ড্রাইভার, জিপিইউর সাহায্যে এটি প্রয়োজনীয় হিসাবে আকার করবে। এই প্রক্রিয়াটি হ'ল ঘন ঘন পুনরায় বিক্রয় করা এবং বরাদ্দ হওয়া পিবি জায়গার পরিমাণ হ্রাস করার মধ্যে একটি বাণিজ্য।

আধুনিক জিপিইউগুলি মেমরির দিকনির্দেশকে হ্রাস করতে সত্যিই কঠোর চেষ্টা করে, তবে রাস্টেরাইজেশন পর্যায়টি খাওয়ানোর জন্য পিবি হাঁটা এমন ঘটনাগুলির মধ্যে একটি যেখানে এটি সত্যিই কঠিন এবং অন্য কোনও বিকল্প নেই। শুকরিয়া পয়েন্টার তাড়া করে বড় ব্লকগুলি মোড়ানো থাকে যা ভালভাবে ক্যাশে হয় এবং মূলটিতে প্রবাহিত হয়।

অন্যান্য আর্কিটেকচারগুলি পাওয়ারভিআর হিসাবে ঠিক একইভাবে কাজ করে না, কারণ আমাদের আর্কিটেকচারে পিবি যেভাবে রয়েছে তার কারণগুলির একটি অংশ হ'ল আমরা বাস্তবায়িত পুরোপুরি পিছনে পিক্সেল শেডিং ধারণাটি সহায়তা করি তবে সাধারণ ধারণাটি অন্যান্য সমস্ত টেলারের ক্ষেত্রে প্রযোজ্য মোবাইল স্পেস যা আমি সচেতন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.