বিলম্বিত রেন্ডারিং কী?


54

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

উত্তর:


55

স্থগিতিত রেন্ডারিংয়ের নির্ধারিত বৈশিষ্ট্যটি হ'ল এটি মূলত ও (জ্যামিতি * লাইট) থেকে ও (জ্যামিতি + লাইট) এ দৃশ্য রেন্ডারিংয়ের জটিলতা পরিবর্তন করে।

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

(*: এটি লক্ষ্য করার মতো বিষয় যে বিকাশকারীরা আরও বেশি গভীরতার সঞ্চয় করতে পছন্দ করে এবং অবস্থান পুনর্গঠন করতে এটি ব্যবহার করে, যেহেতু গভীরতা উপলব্ধ রয়েছে অন্য অনেক প্রভাবের জন্য দরকারী ))

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

বিলম্বিত রেন্ডারিংয়ের সাথে তুলনা করুন: আপনাকে কেবল একবার জি-বাফারটি তৈরি করতে মেসগুলি রেন্ডার করতে হবে। এর পরে, প্রতিটি আলোর জন্য, আপনি একটি বাউন্ডিং শেপ রেন্ডার করেন যা আলোর প্রভাবের প্রসারকে উপস্থাপন করে। একটি পয়েন্ট আলোর জন্য, এটি একটি ছোট গোলক হতে পারে বা একটি দিকনির্দেশক আলোর জন্য এটি পুরো স্ক্রিন কোয়াড হতে পারে, কারণ পুরো দৃশ্যটি প্রভাবিত হয়।

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

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


8

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

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

উদাহরণস্বরূপ প্রথমে হালকা তথ্য রেন্ডার সহ অনেকগুলি বৈচিত্র রয়েছে।

আরও তথ্যের জন্য দেখুন: http://en.wikedia.org/wiki/Deferred_shading http://delicious.com/aancsiid/deferred-shading


-3

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

এটি বাস্তবায়ন বরং সহজ। প্রথম পাসের কমপক্ষে দূরত্ব, স্বাভাবিক এবং রঙের জন্য রেন্ডারিং দরকার। মেমরির মূল্যে আপনি স্পেকুলার, এবং অবস্থানের মতো রেন্ডার করতে আরও টেক্সচার যুক্ত করতে পারেন।

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


আমি মনে করি না যে এটি উত্তরে নতুন কিছু যুক্ত করে। দেখে মনে হচ্ছে এটি নব্যরেন্দ্রর উত্তরের পুনঃপ্রকাশিত অংশগুলির মতো।
হলিব্ল্যাকগেট

@ হোলিব্ল্যাকগেট কয়েকটি গুরুত্বপূর্ণ পার্থক্য রয়েছে। প্রথমে সঠিক জটিলতা সমীকরণ রয়েছে এবং দ্বিতীয়টি, এটি আরও সংক্ষিপ্ত, এখনও কীভাবে এটি বাস্তবায়ন করতে হবে তা ব্যাখ্যা করার সময়।
Hellol11

there's the correct complexity equationসত্য। তবে আমি এটি একটি সামান্য বিবরণ বলতে চাই। আপনি অন্য উত্তরের সম্পাদনা হিসাবে পরামর্শ দিতে পারেন, বা আপনার যথেষ্ট সুনাম হওয়ার পরে সে সম্পর্কে কোনও মন্তব্য করুন। সে কারণে একটি নতুন উত্তর তৈরি করা কিছুটা ওভারকিল। it's much more conciseব্যক্তিগতভাবে আমি এটি ভাল বলে মনে করি না। কোনও উত্তরটিতে যত বেশি দরকারী বিশদ রয়েছে, তত ভাল it
হলি ব্ল্যাককিট

1
@ হোলিব্ল্যাকগ্যাট এক মুহুর্তে, হ্যাঁ। ব্যক্তিগতভাবে, আমি কেবল একটি সাধারণ প্রশ্নের উত্তর পেতে পাঠ্যের প্রাচীরের মধ্য দিয়ে যেতে পছন্দ করি না।
Hellol11
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.