مقایسه Ray Tracing و Path Tracing
ری تریسینگ و پث تریسینگ دو مورد از هیجانانگیزترین و البته پرچالشترین تکنیکهای نورپردازی داینامیک هستند. این تکنیکها در سال ۲۰۲۴ برای گیمرها و توسعهدهندگان بازیها در دسترس قرار گرفتهاند. هر دوی این تکنیکها نسبت به روشهای سنتی، جهش بزرگی در واقعگرایی محسوب میشوند. حتی میتوانند بازیهای قدیمیتر را بسیار واقعیتر از آنچه که بافتها و هندسههای قدیمیشان نشان میدهند، جلوه دهند.
اما اگر هر دو تکنیک ری تریسینگ و پث تریسینگ نورپردازی واقعگرایانهتری در بازیها ایجاد میکنند، کدامیک بهتر است و اصلا تفاوت آنها در چیست؟ در این مقاله از تکاف مگ به مقایسه Ray Tracing و Path Tracing میپردازیم و توضیح میدهیم چرا ممکن است در سالهای آینده یکی از آنها را بیشتر از دیگری در بازیهای محبوبتان ببینید.
ری تریسینگ یک روش واقعگرایانه برای مدلسازی نورپردازی در یک صحنه است. این تکنیک اولین بار در دهه ۱۹۶۰ ابداع شد؛ اما بهدلیل محاسبات سنگینی که نیاز دارد، اخیرا وارد بازیهای زمان واقعی شده است.
در ری تریسینگ، یک پرتو از دید بازیکن به داخل صحنه شلیک میشود. هر بار که این پرتو با یک شیء برخورد میکند، تأثیر آن شیء بر پرتو از جمله رنگ، شفافیت و جهت آن، محاسبه میشود. این پرتو به مسیر خود ادامه میدهد و در صحنه جابهجا میشود تا زمانی که به یک منبع نور برسد. این محاسبات برای هر پیکسل در صحنه انجام میشود. به همین دلیل باعث میشود نورپردازی بسیار واقعگرایانه به نظر برسد؛ اما بهشدت پردازش سنگینی دارد.
ری تریسینگ سالها در جلوههای ویژه سینمایی (CGI) استفاده شده است و رندرکردن هر فریم به ساعتها یا حتی روزها زمان نیاز داشت؛ اما با پیشرفت قدرت محاسباتی و عرضه کارتهای گرافیک RTX از انویدیا و GPUهای RDNA از AMD، شتابدهندههای ری تریسینگ امکان اجرای این تکنیک را بهصورت همزمان در بازیها فراهم کردند. در نسخههای اولیه، این فناوری به سایهها و بازتابها محدود بود، ولی بعدها در برخی بازیها برای نورپردازی عمومی (Global Illumination) هم استفاده شد.
Path Tracing چیست؟
پث تریسینگ یک روش مدرنتر برای شبیهسازی نورپردازی داینامیک و همزمان در صحنههاست. این تکنیک که در اواسط دهه ۱۹۸۰ توسعه پیدا کرد، رویکرد متفاوتی دارد. بهجای ارسال یک پرتو، صدها یا حتی هزاران پرتو را از منبع نور به سمت صحنه میفرستد و آنها را دنبال میکند تا بهصورت تصادفی در صحنه منعکس شوند. این روش شاید پیچیدهتر بهنظر برسد؛ اما در نهایت رندرکردن را سادهتر میکند. چون بهجای ردیابی همه پرتوها از پیکسل تا منبع نور، فقط نمونهای از پرتوها را بر اساس محتملترین مسیر نور دنبال میکند.
این تکنیک ترکیبی از ری تریسینگ و شبیهسازی مونتکارلو (Monte Carlo simulation) است. پث تریسینگ به بازی یا برنامه این امکان را میدهد که تعداد محدودی مسیر را برای رسیدن به منبع نور دنبال کند. این روش جلوههای نوری مشابه ری تریسینگ ایجاد میکند؛ اما به منابع کمتری از سیستم نیاز دارد.
همچنین با توجه به توان سیستم و تنظیمات انتخابی، میتواند جزئیات بیشتری هم نمایش دهد. افزایش تعداد نمونهها فشار بیشتری بر GPU وارد میکند، اما جزئیات بیشتری هم بههمراه دارد. تعداد نمونههای کمتر هم اجرای پث تریسینگ را آسانتر میکند. هرچند ممکن است به کاهش کیفیت بصری منجر شود.
البته نتایج پث تریسینگ کاملا بینقص نیستند. برای بهبود کیفیت تصویر نهایی، از الگوریتمهای کاهش نویز استفاده میشود تا تصویر حاصل تمیزتر و واضحتر شود. نتیجه کار هم معمولا بسیار چشمگیر است.
مقایسه؛ کدام یک بهتر است؟
ری تریسینگ یک تکنیک دقیق برای شبیهسازی نورپردازی زمان واقعی است و بهدلیل دنبالکردن مسیر طبیعی نور، جلوههای واقعگرایانهای ایجاد میکند؛ اما به محاسبات زیادی نیاز دارد. حتی سختافزارهای مدرن هم ممکن است در بازیهایی که از این تکنیک بهطور کامل استفاده میکنند، با مشکل مواجه شوند. به همین دلیل، بسیاری از بازیها از ری تریسینگ فقط برای بخشهایی مثل سایهها و بازتابها استفاده میکنند.
از طرف دیگر، پث تریسینگ میتواند جلوههای بصری مشابه یا حتی بهتری ایجاد کند و در عین حال فشار کمتری بر سیستم وارد کند. این تکنیک در بازیهایی مثل Quake II RTX، Portal RTX و بهروزرسانی حالت Overdrive برای Cyberpunk 2077 نتایج فوقالعادهای داشته است. همچنین، پث تریسینگ در بازیهای قدیمیتر مثل Half-Life 2 هم بهکار رفته و تغییرات بصری چشمگیری ایجاد کرده است.
در کل، پث تریسینگ نورپردازی داینامیک با کیفیت بالا و فشاری کمتر بر سیستم ارائه میدهد. به همین دلیل بهعنوان یک راهحل بهتر در نظر گرفته میشود. بااینحال، ری تریسینگ همچنان در مواقعی که به دقت بصری بالا نیاز است، کارایی خود را نشان میدهد. همچنین، در برخی از بازیها که به روش رندرینگ سنتی ساخته شدهاند، مثل بازی Hogwarts Legacy، افزودن ری تریسینگ یا پث تریسینگ ممکن است تأثیر کمی داشته باشد و باعث کاهش فریمریت شود. ازاینرو، تا زمانی که سختافزارها به حدی قوی نشوند که این تکنیکها بهراحتی رندر شوند، احتمالا شاهد ترکیب این دو روش در بازیهای آینده خواهیم بود.
هر دوش قاتل اف پی اسه 🤣
اره 😂
ولی path tracing خییییلییییی بیشتر به سیستم فشار میاره مثلاً من با Ray tracing چهل اف پی اس میگیرم ولی با path tracing پنج یا ده اف پی اس میگیرم! (تو cyberpunk)