Path Tracing در مقابل Ray Tracing توضیح داده شده است


هر چند سال یک‌بار، به نظر می‌رسد که یک فناوری جدید شگفت‌انگیز با وعده واقعی‌تر جلوه دادن بازی‌ها وجود دارد. در طول دهه‌ها، ما سایه‌زن‌ها، تسلاسیون، نقشه‌برداری سایه، ردیابی پرتوی داشته‌ایم – و اکنون یک بچه جدید در بلوک وجود دارد: ردیابی مسیر.

بنابراین اگر در این آخرین پیشرفت در فناوری گرافیک به دنبال لاغر هستید، به جای درستی آمده اید. بیایید به دنیای رندر شیرجه بزنیم و مسیر نور و یادگیری را دنبال کنیم.

مسیر یابی چیست؟

پاسخ کوتاه و شیرین به این سوال این است که…”ردیابی مسیر فقط ردیابی پرتو استمعادلات مدل‌سازی رفتار نور یکسان است، استفاده از ساختارهای داده برای تسریع در جستجوی برهمکنش‌های پرتو مثلثی نیز یکسان است، و GPUهای مدرن از واحدهای مشابه برای تسریع فرآیند استفاده می‌کنند. همچنین از نظر محاسباتی بسیار مناسب است. متمرکز.

اما، صبر کن اگر واقعاً همینطور است، چرا مسیریابی نام دیگری دارد و چه فایده ای برای برنامه نویسان بازی دارد؟ ردیابی مسیر با ردیابی پرتو متفاوت است زیرا به جای دنبال کردن پرتوهای زیاد، در کل صحنه، الگوریتم تنها محتمل ترین مسیر نور را ترسیم می کند.

ردیابی مسیر با ردیابی پرتو متفاوت است زیرا به جای دنبال کردن پرتوهای زیاد، در کل صحنه، الگوریتم تنها محتمل ترین مسیر نور را ترسیم می کند.

ما چگونگی کارکرد پرتوها را بررسی کرده‌ایم (نگاه کنید به: A Deeper Dive: Rasterization and Ray Tracing)، اما در اینجا به بررسی کوتاهی از فرآیند نیاز است. فریم به طور معمول شروع می شود: کارت گرافیک تمام هندسه – تمام مثلث هایی که صحنه را تشکیل می دهند – را ارائه می دهد و آن را در حافظه ذخیره می کند.

پس از کمی پردازش بیشتر، برای سازماندهی اطلاعات به گونه ای که بتوان هندسه را سریعتر جستجو کرد، ردیابی پرتو شروع می شود. برای هر پیکسلی که کادر را تشکیل می دهد، یک پرتو از دوربین به بیرون پرتاب می شود. صحنه

خوب، نه به معنای واقعی کلمه – یک معادله برداری ایجاد می شود، با پارامترهایی که بر اساس مکان دوربین و پیکسل تنظیم می شوند. سپس هر پرتو در برابر هندسه صحنه بررسی می شود و این اولین بخش از پیچیدگی ردیابی پرتو است. خوشبختانه جدیدترین پردازنده‌های گرافیکی AMD و Nvidia با واحدهای سخت‌افزاری اختصاصی برای تسریع این فرآیند ارائه می‌شوند.

اگر یک پرتو و یک شی با هم تعامل داشته باشند، محاسبه دیگری انجام می شود تا دقیقا مشخص شود که چه مثلثی در مدل درگیر است و رنگ مثلث به طور موثر رنگ پیکسل را تغییر می دهد.

اما نور به ندرت به یک جسم برخورد می کند و آن نور کاملا جذب می شود. در واقعیت، انعکاس و شکست زیادی در جریان است، بنابراین اگر می‌خواهید واقعی‌ترین رندر ممکن را داشته باشید، معادلات برداری جدیدی ایجاد می‌شود که هر کدام یکی برای پرتوهای بازتاب‌شده و شکست‌خورده است.

به نوبه خود، آن پرتوها تا زمانی که به یک جسم نیز برخورد کنند، ردیابی می‌شوند، و این دنباله ادامه می‌یابد تا زمانی که زنجیره‌ای از پرتوها در نهایت به یک منبع نور در صحنه منعکس می‌شوند. از پرتو اولیه اولیه، تعداد کل پرتوهای ردیابی شده در سراسر صحنه با هر پرش به طور تصاعدی افزایش می یابد.

تمام پیکسل های دیگر قاب را بشویید و تکرار کنید، و نتیجه نهایی یک صحنه واقعی روشن است… اگرچه برای مرتب کردن تصویر نهایی هنوز کمی پردازش اضافی لازم است.

اما حتی با قوی‌ترین پردازنده‌های گرافیکی و پردازنده‌های مرکزی، ساخت یک فریم کاملاً پرتودهی زمان زیادی را می‌طلبد – بسیار بسیار طولانی‌تر از یک رندر سنتی، با استفاده از محاسبات و سایه‌زنان پیکسل.

اکنون این جایی است که ردیابی مسیر در تصویر جای می گیرد، اگر کسی جناس را ببخشد.

وقتی کار بیشتر به معنای کار کمتر است

مفهوم اولیه ردیابی مسیر توسط جیمز کاجیا در سال 1986، زمانی که او یک محقق برای Caltech بود، معرفی شد. او نشان داد که مشکل توقف پردازشگر، کارکردن از طریق تعداد روزافزون پرتوها، می‌تواند با استفاده از نمونه‌برداری آماری صحنه (به ویژه الگوریتم‌های مونت کارلو) حل شود.

ردیابی پرتوی سنتی شامل محاسبه مسیر دقیق بازتاب یا شکست هر پرتو و ردیابی آنها تا یک یا چند منبع نور است. با ردیابی مسیر، پرتوهای متعددی برای هر پیکسل تولید می‌شود، اما آنها در جهت تصادفی منعکس می‌شوند. هنگامی که یک پرتو به یک جسم برخورد می کند، این کار تکرار می شود و تا رسیدن به منبع نور یا رسیدن به حد پرش از پیش تعیین شده ادامه می یابد.

این به خودی خود احتمالاً تغییر بزرگی در میزان محاسبات مورد نیاز به نظر نمی رسد، پس بخش جادویی کجاست؟

از همه پرتوها برای ایجاد رنگ نهایی پیکسل در کادر استفاده نمی شود. فقط تعداد معینی از آن‌ها نمونه‌برداری می‌شود و الگوریتم از نتایج یک مسیر تقریبا ایده‌آل جهش نور، از دوربین تا منبع نور استفاده می‌کند. سپس می توان تعداد نمونه ها را برای هر پیکسل مقیاس کرد تا دقت تصویر نهایی تنظیم شود.

علیرغم وجود انبوهی از ریاضیات و کدگذاری اضافی، نتیجه نهایی این است که پرتوهای بسیار کمتری برای پردازش وجود دارد، حتی اگر ردیابی مسیر معمولاً ده‌ها پرتو در هر پیکسل منتشر می‌کند. ردیابی پرتوها و انجام محاسبات برهمکنش آنها در مقایسه با رندر معمولی دلیل موفقیت عملکرد است، بنابراین استفاده از پرتوهای کمتر برای رنگ آمیزی یک پیکسل به وضوح چیز خوبی است.

اما بخش واقعاً هوشمندانه اینجاست: معمولاً پرتوهای کمتر منجر به نور واقعی کمتری می‌شود، اما از آنجایی که بخش عمده رنگ پیکسل‌های قاب فقط تحت تأثیر پرتوهای اولیه قرار می‌گیرد، ریختن بیشتر یا همه پرتوهای ثانویه تأثیری بر چیزها ندارد. تا آنجا که ممکن است کسی فکر کند

حال، اگر صحنه حاوی سطوح زیادی باشد که منعکس می‌شوند و شکست نور، مانند شیشه یا آب، سپس آن پرتوهای ثانویه مهم می شوند. برای حل این مشکل، یا الگوریتم به گونه‌ای بهینه‌سازی می‌شود که توزیع انواع پرتوهایی را که باید در یک صحنه دریافت کنیم، در نظر گرفته می‌شود، یا آن سطوح خاص در گذرنامه رندر «کاملاً ردیابی شده با پرتو» خودشان مدیریت می‌شوند.

یک توسعه‌دهنده خوب از طیف کامل ابزارهای رندر در اختیار خود استفاده می‌کند: شطرنجی‌سازی با سایه‌زنان، ردیابی مسیر و ردیابی پرتوی کامل. پی بردن به همه اینها کار بسیار بیشتری است، اما در نهایت سخت‌افزار کار کمتری است.

چرا ردیابی مسیر در حال حاضر در اخبار است؟

در چند سال گذشته چندین بار شاهد اخبار منتشر شده در مورد مودهایی بوده ایم که ردیابی پرتو را به کلاسیک های قدیمی اضافه می کنند، اما بیشتر آنها در واقع به ردیابی مسیر اشاره دارند. ما آن را در سال 2019 با یک مود آزمایشی برای Crysis و Quake 2 یا اخیراً با مد غیر رسمی Half-Life ray tracing و مد کلاسیک Doom شنیدیم. تمام مسیر یابی

همچنین توییتی از Dihara Wijetunga، مهندس گرافیک R&D ارشد در AMD وجود داشت که پروژه خود را اعلام کرد برای به روز رسانی بازی اصلی Return to Castle Wolfenstein با رندر ردیابی مسیر.

نمونه 1

پس از آن، با استفاده از مسیریابی …

نمونه 2

استفاده از مسیریابی…

نمونه 3

همانطور که در بالا ذکر شد، در سال 2019، انویدیا یک Remaster Quake II را معرفی کرد که دارای یک رندر ray traced برای کمک به ترویج فناوری RTX است. این در ابتدا کار یک نفر بود، کریستوفر شید، که ریمستر (از نظر فنی به عنوان Q2VKPT شناخته می شود) را به عنوان بخشی از یک پروژه تحقیقاتی ایجاد کرد. Quake II RTX با مشارکت سایر متخصصان در فناوری گرافیک متولد شد و اولین بازی مشهوری بود که از ردیابی مسیر برای تمام نورهای خود استفاده کرد.

مدل‌ها و بافت‌های اصلی هنوز وجود دارند و تنها جنبه‌ای که تغییر کرد نحوه روشن شدن سطوح و ایجاد سایه بود. تصاویر ایستا بهترین وسیله برای نشان دادن میزان موثر بودن مدل نورپردازی جدید نیستند، اما می‌توانید یک نسخه رایگان برای خود بگیرید یا این ویدیو را ببینید…

Bandying عباراتی مانند نمونه گیری چند اهمیتی تصادفی و الگوریتم های کاهش واریانس، این پروژه دو چیز را برجسته می کند: اول از همه، ردیابی مسیر به طور جدی جالب به نظر می رسد، و دوم، هنوز هم برای توسعه دهندگان و سخت افزار به طور جدی سخت است. اگر می‌خواهید ببینید ریاضی چقدر پیچیده است، فصل 47 Ray Tracing Gems II را بخوانید.

اما در جایی که امثال Quake II RTX نشان می‌دهد که با ردیابی همه چیز چه چیزی می‌توان به دست آورد، مانند Control و Cyberpunk 2077 نشان می‌دهند که گرافیک باورنکردنی از طریق ترکیب همه روش‌های نورپردازی و سایه‌زنی قابل دستیابی است – شطرنجی‌سازی و سایه‌زنان هنوز هم با پرتوها حاکم هستند. ردیابی برای بازتاب ها و سایه ها

بنابراین ما هنوز کمی فاصله داریم تا اینکه ببینیم همه بازی‌ها از چیزی جز ردیابی مسیر استفاده نمی‌کنند.

دنبال کردن مسیری برای آینده ای بهتر

علیرغم تازگی نسبتاً جدید آن در دنیای رندر زمان واقعی، ردیابی مسیر قطعاً اینجاست. ما قبلاً نتایج را در یک بازی دیده‌ایم و ردیابی مسیر قبلاً به شدت در رندرهای آفلاین مانند Blender و همچنین صنعت فیلم با امثال Autodesk Arnold و RenderMan Pixar استفاده شده است.

هنوز هیچ نشانه‌ای از نزدیک شدن GPUها به هیچ نوع محدودیتی برای حداکثر قدرت محاسباتی خود وجود ندارد، بنابراین اگرچه ردیابی پرتو، سنتی یا ردیابی مسیر، هنوز بسیار سخت است، سخت‌افزار قدرتمندتری در طول سال‌ها وارد بازار خواهد شد.

همه اینها به این معنی است که توسعه دهندگان بازی های رایانه شخصی آینده مطمئناً قصد دارند هر تکنیک رندری را که گرافیک شگفت انگیزی را با عملکرد قابل دستیابی تولید می کند، بررسی کنند، و ردیابی مسیر پتانسیل انجام این کار را دارد.

کنسول های فعلی نیز وجود دارد که باید در نظر بگیرید. Xbox Series X و PlayStation 5 هر دو از ردیابی پرتوهای «سنتی» پشتیبانی می‌کنند، اما با توجه به اینکه پردازنده‌های گرافیکی آن‌ها در عرض چند سال نسبتاً قدیمی می‌شوند، توسعه‌دهندگان به دنبال استفاده از هر میانبر ممکنی برای فشرده کردن آخرین ذخایر هستند. قبل از اینکه به نسل بعدی کنسول ها بروید، از آن ماشین ها خارج شوید.

بنابراین شما دارید — ردیابی مسیر، پسرعموی سریع ردیابی پرتو. تقریباً به همان اندازه خوب به نظر می رسد، خیلی سریعتر کار می کند. با توجه به پیشرفت‌های مداوم فناوری و عملکرد گرافیکی رایانه‌های شخصی و کنسول‌های خانگی، دیری نمی‌گذرد که گرافیک‌های رایانه‌ای از جدیدترین فیلم‌های پرفروش را در بازی‌های مورد علاقه خود نیز مشاهده خواهیم کرد.

به خواندن ادامه دهید. توضیح دهندگان در TechSpot





منبع