Ray tracing تکنیکی برای رندر کردن گرافیک کامپیوتری است که با ردیابی مسیر پرتوها در یک صحنه، تصویری ایجاد می کند. پرتوها می توانند با اشیاء در صحنه تعامل داشته باشند، از آنها پریده و خواصی مانند رنگ به دست آورند.
Ray Tracing: The Basics
Ray tracing از نورهای دنیای واقعی تقلید می کند. نوری که ما می بینیم نتیجه فوتون های ساطع شده از منابع انرژی مانند خورشید است. فوتون ها می توانند در اثر برخورد با اجسام جهش کرده و پراکنده شوند. یک آینه تمام چیزی است که برای دیدن آن در عمل نیاز دارید. برخورد نور با آینه بازتاب ایجاد می کند.
Ray tracing این را شبیه سازی می کند. تعداد پرتوهای ردیابی شده در مقایسه با دنیای واقعی ناچیز است، جایی که میلیونها فوتون در میدان دید ما جهش میکنند. بازی های مدرن چیزی بین یک تا چهار پرتو در هر پیکسل ردیابی می کنند. با این حال، این برای شبیه سازی دنیای واقعی کافی است.
پیگیری مسیر یک پرتو همچنین به آن اجازه می دهد تا با دنیای بازی تعامل داشته باشد. پرتویی که از یک جسم قرمز منعکس میشود، میتواند تحت تأثیر آن رنگ قرار گیرد و درخشش قرمز در آن نزدیکی بتابد. پرتوها میتوانند به روشهای مختلفی بر اساس ویژگیهایی که هنرمندان بازی به اجسام میدهند پراکنده شوند و به سطوح نیمه بازتابنده یا ناهموار واقعی اجازه دهند.
Ray tracing یک گام مهم رو به جلو برای گرافیک سه بعدی است. با شبیه سازی مسیر پرتوها در حالی که در یک بازی حرکت می کنند، تصویری واقعی ایجاد می کند. این منجر به نورپردازی می شود که می تواند با محیط تعامل داشته باشد حتی زمانی که محیط برای پخش کننده قابل مشاهده نیست. ردیابی پرتو برای عملکرد به سختافزار هدفمند نیاز ندارد، اما فقط روی کارتهای ویدئویی یا کنسول بازی که میتوانند ردیابی پرتو را تسریع کنند، عملی است، زیرا بسیار سخت است.
Ray Tracing در مقابل Rasterization (یا گرافیک سه بعدی همانطور که می دانستید)
حتی اگر این توضیح را فهمیده باشید ممکن است همچنان گیج باشید. بازتابها در بازیهای گذشته وجود داشت، حتی بازیهایی که اکنون چندین دهه از عمرشان میگذرد. ردیابی پرتو چگونه متفاوت است؟
بازی های سه بعدی گذشته و بیشتر بازی های مدرن از شطرنجی سازی استفاده می کنند. Rasterization عناصر یک دنیای بازی سه بعدی را که برای بازیکن قابل مشاهده است در یک تصویر دو بعدی ترکیب می کند. فقط آنچه را که باید برای پخش کننده قابل مشاهده باشد، ارائه می دهد، زیرا هر عملکردی که برای تولید چیزی که بازیکن نمی تواند ببیند به هدر می رود. با این حال، این یک مشکل ایجاد می کند.
به مثال آینه برگردیم. محیط بازیکن و شخصیت بازیکن برای بازیکن قابل مشاهده نیست (حداقل در یک بازی اول شخص). با شطرنجی کردن، چیزی برای انعکاس آینه وجود ندارد.
البته آینه ها در بازی های مدرن وجود دارند. صحنه را دوبار رندر می کنند. یک پاس از دید بازیکن است، در حالی که پاس دیگر از دیدگاه دیگری است. با این حال، این عملکرد مورد نیاز برای ارائه یک صحنه را دو برابر می کند.
بازتاب فضای صفحه، تکنیکی در موتورهای بازی های سه بعدی محبوب، از داده های روی صفحه برای ایجاد انعکاس استفاده می کند. این تکنیک برای سطوح بازتابنده با زاویه دید بازیکن، مانند آب، ایده آل است.با این حال، اگر مورد منعکس شده خارج از صفحه حرکت کند، اشیاء منعکس شده ناپدید می شوند.
Ray Tracing این مشکلات را ندارد زیرا برخلاف شطرنجیسازی، میتواند خارج از دید بازیکن ردیابی کند.
همچنین، در بازیهایی که به پرتوها اجازه تعامل با سطوح را میدهند، ردیابی پرتو میتواند رنگهای واقعی و سطوح نیمه بازتابنده را برای شطرنجیسازی دشوار نشان دهد.
Ray Tracing به چه سخت افزاری نیاز دارد؟
Ray tracing ایده جدیدی نیست. دانشمندان کامپیوتر در اوایل دهه 1980 با ردیابی پرتوها آزمایش کردند و تصاویر ایستا با نور، بازتاب ها و سایه های واقعی ایجاد کردند. متأسفانه، آنها ساعت ها طول کشید تا ارائه شوند.
یک بازی ویدیویی به ردیابی پرتوهای بلادرنگ با سرعت ۳۰ فریم در ثانیه یا بالاتر نیاز دارد. این فقط با یک کارت گرافیک طراحی شده برای تسریع ردیابی پرتو امکان پذیر است.
ردیابی اشعه RTX Nvidia به سیلیکونی به نام Tensor Core متکی است.هسته های تنسور فقط در کارت های ویدئویی RTX یافت می شوند. کارتهای GTX انویدیا میتوانند یک بازی را با استفاده از ردیابی پرتو ارائه کنند، زیرا همانطور که گفته شد، ردیابی پرتو به سیلیکون ساختهشده نیاز ندارد. با این حال، عملکرد در مقایسه با کارت های RTX بسیار ضعیف است. و برخی از بازیها، مانند Minecraft با ردیابی پرتو RTX، به دلیل روش خاصی که ردیابی اشعه را فعال میکنند، به کارت ویدیوی RTX نیاز دارند.
کارتهای AMD که ردیابی پرتو را تسریع میکنند، برند خاصی ندارند و سیلیکون اختصاصی ندارند. در عوض، آنها از ترفندهای سخت افزاری و به روز رسانی نرم افزاری برای نتایج بهتر استفاده می کنند. شناسایی کارتهای AMD که ردیابی پرتو را تسریع میکنند دشوارتر است، بنابراین به جزئیات توجه کنید.
PlayStation 5 و Xbox Series X و S سونی دارای سختافزار گرافیکی از AMD هستند که میتواند ردیابی پرتو را تسریع کند. این به توسعه دهندگان بستگی دارد که فعال کنند، اما بسیاری از بازی ها این کار را نمی کنند. یک مثال قابل توجه Cyberpunk 2077 است که در زمان راه اندازی از ردیابی پرتوهای RTX در رایانه شخصی پشتیبانی می کرد اما از ردیابی پرتو در کنسول های نسل بعدی پشتیبانی نمی کرد. این ویژگی برای کنسول های نسل بعدی در پچ آینده وعده داده شده است.