সমস্ত উপলব্ধ টেক্সচার ইউনিট ব্যবহার করা কি ভাল অনুশীলন?


9

যখন জাল-ম্যাপিংয়ের মতো জালটিতে একাধিক টেক্সচার প্রয়োগ করা হয়, তখন আমি সাধারণত প্রথম কয়েকটি নির্দিষ্ট টেক্সচার ইউনিটগুলিতে টেক্সচারগুলি আবদ্ধ করি, যেমন: বিছানা = ইউনিট 0, বাম্প = ইউনিট 1, স্পেকুলার = ইউনিট 2, তারপরে প্রতিটিটি পুনরায় ব্যবহার করে রাখুন বিভিন্ন টেক্সচারের সাথে আলাদা জাল। তবে আমি সবসময় ভাবছি কেন glActiveTextureএতগুলি টেক্সচার ইউনিটকে সমর্থন করে (আগের লিঙ্কে এটি কমপক্ষে 80 বলে) says

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

রিয়েল-টাইম ওপেনজিএল অ্যাপ্লিকেশনগুলিতে এই মানক অনুশীলনটি (আমি বিশ্বাস করি এটি ডি 3 ডি-তেও প্রযোজ্য)? এবং এই পদ্ধতির গ্রহণ করার কোনও অ স্পষ্ট পারফরম্যান্স প্রভাব আছে? মেমরি ওভারহেড সম্ভবত?

উত্তর:


11

ওপেনজিএল দ্বারা প্রকাশিত আধুনিক হার্ডওয়্যারটিতে টেক্সচার বন্ডিং পয়েন্টগুলির সত্যিকারের ধারণাগুলি নেই। বরং শেডার ইউনিট একটি বর্ণনাকারী ব্যবহার করে (যা কেবলমাত্র কিছু ধরণের ফ্যাট পয়েন্টার) যা ভিডিও মেমরিতে আবাসিক যতক্ষণ না কোনও সম্ভাব্যতা সম্বোধন করতে পারে। এটিই বাইন্ডলেস টেক্সচারের মতো জিনিসকে সম্ভব করে তোলে । সুতরাং বর্তমান বাস্তবায়নে যে পরিমাণ বৃহত পরিমাণে "টেক্সচার ইউনিট" উপলব্ধ রয়েছে তা কেবল এপিআই-র এই-অপ্রাসঙ্গিক অংশটিকে হস্তান্তর করার চেষ্টা করছে।

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


আমি এই উপস্থাপনা আগে দেখেছি, এটা খুব ভাল। যদিও আপনি প্রথম অনুচ্ছেদে যা উল্লেখ করেছেন সে সম্পর্কে আমি জানতাম না, সুতরাং সেই তথ্যের জন্য ধন্যবাদ!
গ্ল্যাম্পার্ট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.