পিক্সেল শেডারগুলি কেন আমাদের ফ্রেম বাফার বা গভীরতা বাফার থেকে সরাসরি পড়তে দেয় না?


18

আমাকে পিক্সেল শেডারে ফ্রেমবফার বা ডিপথবাফার নমুনা দেওয়া অত্যন্ত কার্যকর বৈশিষ্ট্য হবে। এমনকি কেবলমাত্র বর্তমান পিক্সেলের পিছনে যা আছে তার গভীরতা বা রঙ জানতে সক্ষম হওয়াই দরকারী।

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

উত্তর:


20

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

এর জন্য হার্ডওয়্যারটি তৈরি না হওয়ার কারণটি সম্ভবত জিপিইউ ব্যাপকভাবে সমান্তরাল এই সত্যের সাথে করতে পারে; তারা একসাথে অনেক টুকরো প্রক্রিয়া করে। এই খণ্ডগুলির মধ্যে কয়েকটি শেষ পর্যন্ত গন্তব্য বাফারগুলির মধ্যে একে অপরের সাথে যোগাযোগ করতে পারে তবে খণ্ড প্রক্রিয়াজাতকরণের অ্যাসিনক্রোনাস প্রকৃতির কারণে খণ্ডটি প্রক্রিয়াজাতকরণ এবং চূড়ান্ত রঙ নির্গত হওয়ার পরে কীভাবে তা জানা সম্ভব নয় ... যা জিতেছে সর্বদা নির্বিচারে ঘটে না।

পিক্সেল এ চূড়ান্ত ফ্রেমে পিক্সেল বি এর পিছনে থাকবে এর অর্থ এই নয় যে পিক্সেল এ সর্বদা খণ্ড প্রক্রিয়াকরণ সম্পন্ন করবে এবং বিশেষত রেন্ডারিংয়ের একাধিক ফ্রেম জুড়ে বি এর আগে গন্তব্যে লেখা হবে। সুতরাং পিক্সেল বি এর প্রসেসিংয়ের সময় গন্তব্য বাফার থেকে পঠিত মান সর্বদা পিক্সেল এ এর ​​হবে না - কখনও কখনও এটি পরিষ্কার মান হয়।

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

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


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

4

বিরক্ত করার সময়, এটি হার্ডওয়্যার নির্মাতাদের অসংখ্য এবং স্বচ্ছ উপায়ে রেন্ডারিং প্রক্রিয়াটিকে অনুকূলকরণের নমনীয়তা দেয়।

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


4

পিক্সেল শেডার রঙ এবং গভীরতার বাফারগুলি থেকে পড়তে পারে না কারণ:

পিক্সেল এ এবং বি হার্ডওয়্যারে ঠিক একই মুহুর্তে ছায়াযুক্ত হতে পারে, যদিও বি চূড়ান্তভাবে ("পরে") পিক্সেল এ এর ​​শীর্ষে রেন্ডার করে though

আপনি যদি এটি তৈরি করেন যাতে হার্ডওয়্যার বি এর আগে এ এর ​​ছায়া দেওয়ার গ্যারান্টিযুক্ত থাকে, তবে হার্ডওয়ারের অংশগুলি এ এ শেড হওয়ার সময় কিছুই না করে বসে থাকত এবং তারপরে বি ছায়া করা অবস্থায় হার্ডওয়্যারের কিছু অংশ কিছু না করে বসে থাকত।

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

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