ری تریسینگ (Ray Tracing) یا رهگیری پرتو در سالهای اخیر به شکل بالقوه به واسطه سرمایهگذاری انویدیا و نقشآفرینی در کارتهای گرافیک این شرکت به شهرت و همچنین استفاده زیادی رسیده است.
ری تریسینگ به زبان ساده، یک تکنیک نورپردازی است که ظاهر بازیها را به واقعیت نزدیکتر میکند. در واقع در این تکنیک فرایند واقعی تابش و بازتاب نور در جهان واقعی، در بازیهای ویدیویی شبیهسازی میشود. استفاده از چنین ترفندی کمک میکند که محیط بازیهای ویدیویی در مقایسه با شیوه قدیمی نورپردازی یعنی نورپردازی ثابت، واقعیتر به نظر برسد.
اما این همه ماجرا نیست؛ پیچیدگی ری تریسینگ بیشتر از آن است که بتوان صرفاً با چند سطر به بیان کارکردش پرداخت. یک کارت گرافیک خوب و مدرن میتواند از این فناوری برای افزایش سطح غوطهوری استفاده کند؛ بنابراین همانطور که مشخص است، تمام کارتهای گرافیک قادر به پشتیبانی از ری تریسینگ نیستند.
با عرضه کنسولهای نسل نهم، اکنون امکان استفاده از ری تریسینگ برای کاربران عادی بیشتر از هر زمان دیگری است. بنابراین اگر علاقه دارید تمام اطلاعات مربوط به این فناوری پرکاربرد را در طراحی بصری مخصوصاً بازیهای ویدیویی درک کنید، مقاله پیشرو را از دست ندهید!
فوتونهای مجازی
برای این که به خوبی متوجه نورپردازی انقلابی در فناوری ری تریسینگ شوید، باید به عقب بازگردیم و نخست ببینیم که بازیها قبل از ظهور آن، از چه شیوهای برای نورپردازی استفاده میکردند و سپس، اصلاً چه چیزی باعث واقعگرایانهتر شدن بازیهای ویدیویی میشود.
بازیهای فاقد ری تریسینگ، از یک نورپردازی ثابت موسوم به Baked-in (تعبیه شده یا اصطلاحاً پخته شده) بهره میبرند. در این روش نسبتاً قدیمی، سازندگان منابع نور را در محیطی جاسازی میکنند که پرتوها را به شکل یکنواخت به همه زوایا میتابانند. باید توجه کنید که مدلها مثل شخصیتهای غیرقابل بازی و در مجموع اشیا حاوی اطلاعات دیگر مدلها نیستند؛ نتیجه؟ کارت گرافیک مجبور است وظیفه بررسی و محاسبه رفتار نور را حین تابش به هر مدل به عهده بگیرد.
برای مثال بافت (Texture)های سطح میتوانند نور را برای شبیهسازی براق بودن، بازتاب دهند اما تنها به شرطی که منبع نور ساکن باشد. تصویر زیر از بازی Grand Theft Auto V مثال خوبی برای درک این موضوع است.
در مجموع، تکامل کارتهای گرافیک در مرور زمان این فرایند را آسانتر کرده است، تا جایی که بازیهای ویدیویی تا پیش از ظهور ری تریسینگ هم تا حد زیادی به گرافیک واقعگرایانه نزدیک شدند، اما محدودیتها هنوز هم وجود داشت و هیچکس نمیتوانست ادعا کند که بازیها کاملاً به گرافیک واقعگرایانه دست یافتهاند. تابش، بازتاب و نورپردازی عمومی هنوز هم در این زمان با جهان واقعی متفاوت بود. برای محقق شدن گرافیک واقعگرایانه، کارتهای گرافیک نیاز به ویژگی رهگیری پرتوهای مجازی نور دارند.
در جهان ما، نور مرئی قسمتی از خانواده پرتوهای الکترومغناطیسی است که توسط چشم ما مشاهده میشود. این نور حاوی فوتونهایی است که هم به صورت ذره و هم به صورت موج رفتار میکنند. فوتونها اندازه یا شکل واقعی ندارند بلکه صرفاً ایجاد شده یا از بین میروند.
به این ترتیب، نور به عنوان جریانی از فوتونها تلقی میشود. با این حساب هر چه فوتونها بیشتر باشند، نور بیشتری تولید میشود. انعکاس یا بازتاب زمانی رخ میدهد که فوتونهای مورد بحث، با یک سطح برخورد میکنند. از طرفی تجزیه نور زمانی اتفاق میافتد که فوتونها از یک جسم شفاف عبور کنند و خط نور به یک سو تمایل پیدا کند یا اصطلاحاً «خم» شود. فوتونهایی که در این فاصله نابود میشوند، در واقع جذب جسم میشوند.
این روشی است که نور در جهان واقعی عمل میکند. ری تریسینگ سعی دارد در بازیهای ویدیویی، این روش را پیاده کند. فناوری ری تریسینگ مسیر شبیهسازی شده نور را با رهگیری میلیونها فوتون مجازی دنبال میکند. هر چه نور روشنتر باشد، کارت گرافیک باید فوتونهای مجازی بیشتری را رهگیری یا دقیقتر، محاسبه کند. همچنین نور هر چه قدر بیشتر در بازیهای ویدیویی با سطوح برخورد کند، بازتاب، تجزیه و پراکندگی بیشتری را ایجاد میکند که طبق معمول، کارتهای گرافیک، وظیفه سنگینتری در دنبال کردن آن دارند.
همانطور که در ابتدای مقاله هم ذکر کردیم، انویدیا اولین شرکتی بود که این فناوری را به صورت گسترده به بازیهای ویدیویی وارد کرد. پیش از آن ری تریسینگ برای دههها توسط سازندگان فیلمهای سینمایی و انیمیشنها مورد استفاده قرار میگرفت. انجام این پروسه در اولین روزهای پیدایش فناوری ریتریسینگ دردسرهای زیادی برای فیلمسازان داشت تا جایی که چندین مجموعه بزرگ کامپیوتری برای پردازش تنها یک فریم، ساعتها و حتی روزها درگیر پردازش میشدند.
حالا چند دهه بعد، رایانههای شخصی خانگی میتوانند گرافیک مبتنی بر رهگیری پرتو را به لطف سختافزار قدرتمند و ترفندهای نورپردازی برای محدود کردن تعداد پرتوها به یک عدد معقول و قابل مدیریت، در لحظه پردازش کنند. یک پیشرفت واقعی و از جمله دلایلی که ما ظهور مصارف خانگی ری تریسینگ را یک انقلاب خطاب کردیم.
هنوز متوجه اهمیت این پیشرفت نشدهاید؟ اجازه دهید این معجزه را بیشتر برای شما باز کنیم.
در فیلمها صحنههای مبتنی بر CGI (سرواژه کلمههای تصاویر تولید شده توسط کامپیوتر) معمولاً شاتهایی هستند که از زوایای مختلف فیلمإرداری شدهاند. برای هر فریم، میتوان دوربین را حرکت داد، زوم کرد و کارهای دیگری را انجام داد اما نهایتاً باید در یک زاویه و شرایط، فیلمبرداری صورت بگیرد.
در واقع همانند چیزی که در انیمیشنها رخ میدهد، در این صحنهها سازندگان فیلمها و سریالها باید فریم به فریم، اتفاقات مورد نظر خود را یک بار برای همیشه شکل دهند تا در انتها حرکت و جنبش را شبیهسازی کنند. فوتیجهای حاصل سرانجام در کنار همدیگر قرار میگیرند تا شما بتوانید یک فیلم مستقیم با داستان متوالی را تماشا کنید.
در بازیهای ویدیویی، شما یک دوربین را به معنای واقعی کلمه لحظه به لحظه کنترل میکنید و زاویه دید همیشه در حال تغییر است مخصوصاً در عناوینی که هسته اصلی گیمپلی آنها مبتنی بر سرعت هستند. هم در CGI و هم در بازیهایی که از ری تریسینگ پشتیبانی میکنند، کارت گرافیک نه تنها باید نحوه انعکاس و تجزیه نور را در هر صحنه محاسبه کند بلکه باید شیوه رسیدن آن به لنز یا به عبارت دیگر زاویه دید شما را هم در نظر بگیرد.
در بازیها این محاسبه مجموعهای سنگین از اعمال پیچیده لحظهای است که تنها و تنها باید یک رایانه شخصی یا کنسول از عهده انجامش خارج شود! هیچ خبری از تاخیر نیست و هیچ محصول کمکی هم در کار نخواهد بود.
متاسفانه در حال حاضر قدرتمندترین رایانههای شخصی هم «واقعاً» نمیتوانند گرافیک مبتنی بر ری تریسینگ را در نرخهای فریم بالا اجرا کنند. همین الان گفتیم که آنها این کار را انجام میدهند، پس آیا ما صحبتهای خودمان را نقض کردیم؟ البته که نه! سختافزارهای کنونی خانگی-تجاری از یک حقه کارآمد برای انجام این کار کمک میگیرند. در ادامه به این حقه میپردازیم.
سرانجام، گرافیک واقعگرایانه
شباهت ساختار و اساس ری تریسینگ به اساس نور در زندگی واقعی آن را تبدیل به یک تکنیک پردازش واقعگرایانه گرافیک کرده است که حتی میتواند اثری مانند ماینکرفت را هم تحت شرایط مناسب، واقعگرایانه جلوه دهد. فقط یک مشکل وجود دارد: شبیهسازی ری تریسینگ به شدت دشوار است. ایجاد مجدد روشی که نور عمل میکند، پیچیده است و به به قدرت پردازش محاسبهای زیاد و منابع عظیمی نیاز دارد.
به همین خاطر است که حتی کارتهای گرافیک سری RTX کنونی انویدیا واقعاً نمیتوانند این کار را انجام دهند. این کارتها براساس تعریفی که انجام دادیم، همه پرتوهای شبیهسازی شده در بازیهای ویدیویی را رهگیری نمیکنند. در عوض، آنها تقلب میکنند! چطور؟
کارتهای گرافیک سعی میکنند به جای آن که تمام بار پردازش واقعی رهگیری پرتو را به دوش بکشند، دست به چند تخمین هوشمند از موقعیت پرتوها تحت شرایط مختلف بزنند. احتمالاً این شیوه در نسلهای آینده کارتهای گرافیک تغییر خواهد کرد ولی فعلاً این قدمی بزرگ در جهتی کاملاً درست است.
اکثر بازیهای سازگار با این فناوری، از یک ترکیب رایج از تکنیک نورپردازی استفاده میکنند که در آن، شطرنجیسازی و رهگیری پرتو روی برخی از سطوح مشخص مانند گودالهای آب و فلزات و نه تمام سطوح، اعمال میشوند. Battlefield V مثال خوبی برای این موضوع است.
در این بازی میتوانید انعکاس سربازان، هواپیماها و حتی انفجارها را درون آب یا رنگ بدنه یک خودرو مشاهده کنید. موتورهای بازیسازی ۳ بعدی مدرن حتی بدون استفاده از ری تریسینگ هم میتوانند انعکاسها را نمایش دهند ولی هرگز به سطحی که مثال زدیم، دست پیدا نمیکنند.
ری تریسینگ همچنین قادر است مدیریت سایهها را هم به عهده بگیرد تا آنها را پویاتر و واقعیتر به تصویر بکشد. سایههای موجود در بازی Shdow of the Tomb Raider به خوبی نشان میدهد که این فناوری چه قابلیتهایی در این زمینه دارد. در واقع نورپردازی مبتنی بر ری تریسینگ، میتواند با بهرهگیری از «لبههای نرمتر» و «محدوده معینتر» سایههای بسیار طبیعیتری را در محیطهای تاریک و روشن رقم بزند.
باری دیگر گفتنی است که دستیابی به این ظاهر در حالت غیر ری تریسینگ بسیار دشوار و طاقتفرسا است. توسعه دهندگان بدون استفاده از ری تریسینگ فقط میتوانند با استفاده از تنظیمات آماده، منابع نور ثابت و …، چنین سایههایی را به شکل ساختگی طراحی کنند. بهرهگیری از چنین منابع نور ثابت و ناکارآمد وقت زیادی را میطلبد و در انتها هم ممکن است نتیجه مطلوبی در پی نداشته باشد.
بعضی بازیها به سراغ استفاده حداکثری از ری تریسینگ میروند و نورپردازی عمومی خود را به شکل موثری در این تکنیک برای تمام سطوح انجام میدهند. این شیوه از نورپردازی عمومی با ری تریسینگ از نظر منابع و محاسبات، گرانترین و پیچیدهترین گزینه ممکن است که کاربر را نیازمند قویترین کارتهای گرافیک حال حاضر بازار میکند. Metro Exodus یکی از عناوینی است که با چنین تکنیکی ساخته شده و متاسفانه نتیجه رضایتبخشی ندارد.
به همین خاطر است که استفاده گزینشی از ری تریسینگ در مواردی مانند سایهها یا انعکاسها در میان توسعه دهندگان بسیار محبوبتر است. جدای از این، بازیهای زیادی از سایر فناوریهای جدید انویدیا مانند دینویز یا DLSS استفاده میکنند تا عملکرد کلی را افزایش دهند و بعضی مشکلات فنی را از چشم بازیکن دور نگه دارند.
برای مثال در بعضی از صحنهها، تعداد پرتوهای لازم برای نورپردازی ری تریسینگ نمایش داده نمیشوند که به لطف این فناوریها، احتمالاً بازیکن متوجه آنها نخواهد شد. پردازش بدون مشکل چنین صحنههایی فعلاً حتی با ترفندهای به کارت رفته در کارتهای گرافیک سری RTX هم ممکن نیست و تنها صنعت فیلم و سینما و در کل، اسکرینشاتها یا ویدیوهایی میتوانند از آن بهره ببرند که پیشرندر شدهاند.
سختافزار، قلب تپنده ری تریسینگ
با وجود آن که ری تریسینگ در کارتهای گرافیک بازیهای ویدیویی به راستی انجام نمیگیرد و ترفندهای مختلف به شبیهسازی آن کمک میکنند اما این دلیل نمیشود که محاسباتش پیچیده نباشند. به همین منظور انویدیا در سری ۲۰ کارتهای RTX مبتنی بر معماری تورینگ (Turing) سختافزار مجزایی برای ری تریسینگ معرفی کرد.
هستههای RT برای اولین بار به صورت اختصاصی برای پردازش ری تریسینگ در این سری معرفی شدند. این هستهها در کنار هستههای CUDA و تنسور قرار گرفتند تا پردازشهای سنگین لحظهای مربوط به ری تریسینگ بهتر صورت بگیرند. با وجود آن که عملکرد این هستهها مطلوب بود ولی تا معماری آمپر در سری ۳۰ سری RTX مشخص کرد که تاثیر آنها تا چه اندازه زیاد است.
انویدیا در این خصوص با اجرای یکی از صحنههای Metro Exodus با نسل آخر کارتهای سری RTX ثابت کرد که چطور با جداسازی عملیات محاسبه ری تریسینگ، میتوان خروجی بهتری را ثبت کرد. در حالی که عملکرد کلی RTX 2080 و GTX 1080 Ti تا حد زیادی قابل مقایسه است اما عملکرد آنها در بازیهای ری تریسینگ، کفه را به سمت RTX 2080 متمایل میکند. بنابراین بدون وجود هستههای RT حتی کارت قدرتمندی مانند GTX 1080 Ti هم برای اجرای صحنههای ری تریسینگ به مدتها زمان نیاز دارد.
هستههای RT در سری ۲۰ کارتهای گرافیک RTX تبدیل به بزرگترین مزیت آنها شدند اما متاسفانه این کارتها نتوانستند به عملکردی که انویدیا ادعا میکردند، نزدیک شوند. با ورود کارتهای RTX 3080 و RTX 3090 نه تنها هستههای RT جدیدتری رونمایی شدند بلکه عملکرد کلی هم به شکل چشمگیری در این کارتها افزایش پیدا کرد. اکنون باور رایج این است که کارتهای گرافیک سری همان چشماندازی را محقق کردند که انویدیا اولین بار درباره ری تریسینگ قول داده بود.
پیش از آن که به سراغ AMD برویم و درباره فناوری ری تریسینگ در دروازههای رقیب انویدیا صحبت کنیم، بد نیست بدانید ترفند اصلی مورد استفاده توسط انویدیا تنها گزینه موجود نیست. یک ترفند رایج دیگر به «رهگیری مسیر» مشغول میشود که البته عملکرد کلی در این گزینه، در مقایسه با ترفند انویدیا کاهش شدیدی را تجربه میکند.
ری تریسینگ در کارتهای گرافیک AMD
AMD دیرتر از انویدیا وارد بازار کارتهای گرافیک ری تریسینگ شد. در واقع این شرکت با عرضه RX 6800، RX 6800 XT و RX 6900 XT برای اولین با قدرت خود را در این حوزه به رخ کشید.
این سری کارتها از ری تریسینگ روی DirectX 12 پشتیبانی میکنند و عملکرد خوبی را هم به نمایش میگذارند. با این وجود انویدیا در زمینه ری تریسینگ در سطح به مراتب بالاتری قرار دارد و نمیتوان منکر این قضیه شد.
این موضوع چندان هم عجیب نیست. معماری Big Navi کارتهای سری RX 6000 تقریباً قابل مقایسه با نسل اول کارتهای گرافیک ری تریسینگ انویدیا است. با توجه به این که همین معماری AMD در کارتهای گرافیک پلی استیشن ۵ و ایکس باکس سری ایکس هم به کار رفته است، میتوان انتظار داشت که کنسولهای نسل نهم در این زمینه عملکرد ضعیفتری نسبت به پرچمداران کنونی و آینده انویدیا داشته باشند.
با این وجود نباید فراموش کنیم که ری تریسینگ یکی از بزرگترین ویژگیهای این کنسولها است و بازاریابی قدرتمند سونی و مایکروسافت پیرامون آن میتواند نوید دهنده تمرکز بیشتر توسعه دهندگان، روی آن باشد.
چطور از ری تریسینگ استفاده کنیم؟
شما برای فعال کردن ری تریسینگ در بازیهایی که از این فناوری پشتیبانی میکنند، نیاز به یکی از کارتهای گرافیک جدید و البته گرانقیمت بازار دارید. کارتهای سری RTX 20 و RTX 30 شرکت انویدیا و کارتهای سری RX 6000 شرکت AMD به صورت سختافزاری از ری تریسینگ پشتیبانی میکنند.
سری GTX 10 و GTX 16 انویدیا نیز از ری تریسینگ پشتیبانی میکنند ولی فاقد هستههای RT هستند که از این نظر عملکرد آنها را تحت تاثیر قرار میدهد. اگر قصد دارید بازیها را روی رزولوشن 1080p با نرخ فریم ۶۰ همراه ری تریسینگ تجربه کنید، به یکی از کارتهای گرافیک بالارده نیاز دارید.
برای تجربه بازیها به صورت 4K همراه ری تریسینگ، کارت گرافیک RTX 3080 و RX 6800 XT گزینههای مناسبی هستند اما اگر بودجه کمتری در نظر گرفتهاید و مشکلی ندارید که گاهی اوقات بازیها را روز رزولوشون 1440p تجربه کنید، RTX 3070 یا RX 6800 هم جوابگوی نیاز شما خواهند بود.
در حال حاضر بازیهای چندان گستردهای از ری تریسینگ پشتیبانی نمیکنند اما به هر حال تعداد آنها در حال افزایش است. شاید بهتر باشد اثری مانند Cyberpunk 2077 یا Watch Dogs: Legion را در حالت ری تریسینگ بازی کنید تا متوجه تمام توضیحات ما در این مقاله شوید. نهایتاً این صفحه به شما کمک میکند متوجه شوید آیا رایانه شخصی شما قادر به پشتیبانی از این فناوری هست یا خیر.
سوالات متداول
ری تریسینگ چیست؟
- ری تریسینگ (Ray Tracing) یا رهگیری پرتو به زبان ساده، یک تکنیک نورپردازی است که ظاهر بازیها را به واقعیت نزدیکتر میکند. در این تکنیک فرایند واقعی تابش و بازتاب نور در جهان واقعی، در بازیهای ویدیویی شبیهسازی میشود.
چه کارتهای گرافیکی از ری تریسینگ پشتیبانی میکنند؟
- کارتهای سری RTX 20 و RTX 30 شرکت انویدیا و کارتهای سری RX 6000 شرکت AMD به صورت سختافزاری از ری تریسینگ پشتیبانی میکنند. سری GTX 10 و GTX 16 انویدیا نیز از ری تریسینگ پشتیبانی میکنند ولی فاقد هستههای RT هستند که از این نظر عملکرد آنها را تحت تاثیر قرار میدهد.
آیا کارتهای گرافیک AMD هم از ری تریسینگ پشتیبانی میکنند؟
- سری RX 6000 این شرکت و همچنین کارتهای گرافیک اختصاصی ساخت AMD که در پلی استیشن ۵ و ایکس باکس سری ایکس به کار رفتهاند، از ری تریسینگ پشتیبانی میکنند ولی دامنه کارکرد آنها قابل مقایسه با انویدیا نیست.
نظرات