Ray Tracing

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

شرکت انویدیا (Nvidia) اولین شرکتی است که سعی کرد تا فناوری Ray Tracing را صورت کاملا Real Time و واقعی، در بازی‌های ویدیویی به تصویر بکشد. این شرکت با معرفی نسل جدیدی از پردازنده‌های گرافیکی (GPU) خود که با پیشوند RTX شناخته می‌شوند، فعالیت خود را در زمینه پردازش Real Time فناوری رهگیری پرتو آغاز کرد. کاربران پلتفرم رایانه‌های شخصی و صاحبان کارت‌های گرافیک نسل جدید شرکت انویدیا، هم‌اکنون می‌توانند عناوین بزرگ و پرطرفداری را مانند Battlefield 5 و Metro Exodus با فناوری Ray Tracing تجربه کنند و درون فضا و دنیایی واقع گرایانه‌تر و غرق کننده‌تر قرار بگیرند. پیش از این به صورت کامل توضیح داده بودیم که Ray Tracing دقیقا چیست و چه کاری را انجام می‌دهد و در این مطلب قصد داریم تا احتمال وجود این فناوری انقلابی را در نسل آینده کنسول‌ها بررسی کنیم. در طرف دیگر، پردازنده‌های گرافیکی نسل جدید شرکت انویدیا، علاوه بر ایرادها و مشکلات، قابلیت‌ها و ویژگی‌های پیچیده تر و جالب دیگری نیز دارند (مانند فناوری DLSS و ساختار Turing) که صحبت کردن در مورد هر کدام از آن‌ها، یک مقاله و یک مطلب کاملا جداگانه و منحصر به فرد را می‌طلبد. بنابراین در این مطلب تمرکز اصلی ما برروی احتمالات و پیش آمد‌های حضور Ray Tracing روی کنسول‌های نسل بعدی سونی و مایکروسافت است.

اما در سمت دیگر، شایعات در مورد کنسول‌های نسل آینده دو شرکت سونی و مایکروسافت، هر روز بیشتر از روز دیگر می‌‌شود و حتی تصاویری غیر رسمی از ظاهر کنترلر‌های کنسول پلی‌استیشن 5 نیز مشاهده کردیم. با این حال، برای اهالی فن و علاقه مندان به سخت افزار، شاید نکات و موارد مهمتری نیز وجود داشته باشد و آن، سخت افزار و پردازنده‌های مورد استفاده در کنسول‌های نسل جدید است. شایعات بیش از هر چیز دیگری، به ترکیب Navi/Ryzen در ساختار سخت افزاری کنسول‌های نسل بعد اشاره می‌کنند و با این ترکیب CPU و GPU، می‌توانیم انتظار ویژگی‌های بصری و گرافیکی جالبی را از این کنسول‌ها داشته باشیم. با این حال، سوال اصلی در این مطلب این است که جدا از هر ویژگی‌ گرافیکی، بصری یا فنی دیگر، آیا می‌توانیم Ray Tracing را در قالب سخت افزار کنسول‌های نسل بعد جای دهیم؟ این سوالی است که قطعا نمی‌توان پاسخ آن را با «بله» یا «خیر» داد!

Ray Tracing

اگر بخواهیم در دوره و زمانه کنونی به فناوری Ray Tracing که کارت‌های RTX آن را به ما ارایه می‌دهند، نگاه دقیق‌تری بیندازیم، نتیجه می‌گیریم که این ارایه در واقع Ray Tracing اصلی و واقعی نیست! Ray Tracing کنونی در واقع یک نوع ارتقای نورپردازی و بازتاب است که سعی می‌کند فرایند Ray Tracing واقعی را به شکل محدود و البته با سرعت بیشتر، رندر کرده و به مقابل چشمان کاربر بیاورد. زمانی که ما در بحث رندرینگ و عوامل بصری مانند تعداد پالیگان‌ها، Global Illumination یا Screen Space Ambient Occlusion قرار داریم و از این موارد صحبت می‌کنیم، در واقع با تکنیک‌های شبیه ساز طرف هستیم و این شبیه سازی‌ها باعث می‌شود تا تصویری که مشاهده می‌کنیم، نزدیک به واقعیت و شبیه به دنیای واقعی باشد. در بحث rasterization یا کشش، اشکال و اجسام سه بعدی، از میلیون‌ها مثلث سه بعدی تشکیل شده‌اند که درون مش‌ها، با هم تعامل برقرار می‌کنند. این مش‌ها با خود اطلاعاتی دارند که هر پیکسل درون صفحه، باید نمایانگر چه نوع رنگی باشد و در طرف دیگر، Shading، تصمیم می‌گیرد تا بسته به حالت نورپردازی در لحظه، تمام این عوامل و تکنیک‌ها، باید به چه نوعی کار کنند و خود را نمایش دهند. اما Ray Tracing واقعی، اساسا با چیزی که هم‌اکنون معرفی می‌شود، تفاوت داشته و به نوعی برعکس دنیای واقعی است! نورها در دنیای واقعی که از خورشید، شمع یا صفحه گوشی یا نمایشگر شما صاتع می‌شوند، پرتوهای فوتون را که از اشیای دیگر پخش می‌شوند، به تصویر درمی‌آورند و در نهایت به شبکه چشم شما برخورد می‌‌کند؛ این پرتوها اطلاعاتی دارند که شکل هندسی اجسام و نوع تابش نور به سمت آن‌ها را نمایش می‌دهند.

در محیط موتور (موتور گرافیکی)،‌ منبع نور، نور خود را به سمت اجسام حاضر در محیط می‌فرستد و بدین وسیله، رنگ و میزان روشنایی آن ها مشخص می‌شود اما همان نوری که از اجسام منعکس می‌شود، قرار نیست تعریف کننده‌ و نمایانگر اجسام اطراف باشد؛ در صورتی که در بحث Ray Tracing واقعی، این دقیقا همان اتفاقی است که رخ می‌دهد. در بازی‌های ویدیویی و با استفاده از موتورهای گرافیکی، تکنیک Global Illumination مورد استفاده قرار می‌گیرد تا سازندگان بتوانند به صورت تقریبی و شبیه سازی شده، رفتار نور منعکس شده از اجسام را نمایش دهند و همچنین برای نمایش سایه‌ها به همین شکل، از تکنیک Ambient Occlusion استفاده می‌شود. با این حال، این تکنیک‌ها تنها طراحی شده‌اند تا همه چیز را در مورد نور و نورپردازی، شبیه سازی کنند و قطعا Ray Tracing واقعی نیستند. در یک موتور که به طور کامل از رهگیری پرتو پشتیبانی می‌کند، پرتوهای نور از سمت دوربین فرستاده می‌شوند، به اجسام حاضر در محیط برخورد می‌کنند، بازتاب داده می‌شوند و در نهایت به سمت خروجی بازمی‌گردند. در این جا، هیچ عنصر شبیه ساز و هیچ عامل مصنوعی دخالت ندارد و نوری که می‌تابد، سایه‌ها، بازتاب‌ها و موارد دیگر را به صورت کاملا طبیعی و هوشمند، به وجود می‌آورد. در واقع با استفاده از Ray Tracing واقعی، ما تصویری را می‌بینیم که به نظر نور در آن دقیقا به شکل واقعیت تابیده شده یا بازتاب داده می‌شود اما استفاده از تکنیک‌های Shading، تنها شبیه سازی این نور را برای ما به همراه دارد. با این حال، رهگیری پرتو به صورت واقعی و تراز اول (با چند پرتو در هر پیکسل) از نظر محاسباتی و پردازشی، به شدت سنگین و پرتقاضا است و هم‌اکنون با سخت افزارهایی که در اختیار داریم، قابل نمایش نیستند. سازندگان و توسعه دهندگان برای نمایش نوری که به صورت ثابت و Static در طول بازی باقی می‌ماند، از تکنیک‌های Lightmaps استفاده می‌کنند که این امر، با پیش محاسبه (Pre-Computing) خروجی رهگیری پرتو حاصل می‌شود. این تکنیک در بازی‌های نسل هشتمی به وفور استفاده می‌شود و نمونه‌های زیبا و خوب آن‌ را می‌توانیم در بازی‌هایی مانند Battlefield یا Assassin’s Creed Unity مشاهده کنیم اما بدیهی است که در دنیای واقعی و به صورت کاملا واقع گرایانه، نور در محیط همیشه در یک مکان باقی نمی‌ماند و همیشه در حال تغییر مکان است بنابراین چنین تکنیک‌هایی نمی‌توانند حتی به Ray Tracing نزدیک شوند! شما برای محاسبه‌ حرکات نور نسبت به اجسام و اشیای درون محیط، به رهگیری پرتو به شکل واقعی نیاز دارید و البته باید بهای گزافی را نیز برای مشاهده چنین چیزی به صورت Real Time بپردازید!

Ray Tracing

اگر هنوز به تقاضای سنگین و گزاف فناوری رهگیری پرتو (به صورت واقعی) آشنا نشده‌اید، بهتر است با مثالی ساده و جالب، آن را توضیح دهیم. به تازگی یک رندر کننده رهگیری پرتو برای بازی خاطره انگیز و ماندگار Quake 2 منتشر شده که خیلی خوب می‌تواند همه چیز را برای ما روشن کند؛ یک کارت گرافیک RTX 2080 Ti با بزرگترین هسته‌های متمم RT، نمی‌تواند این بازی را با رندر کننده رهگیری پرتو، با نرخ فریم 60 بر ثانیه ثابت اجرا کند! یک بازی 22 ساله که در حالت کلاسیک و rasterization می‌تواند به راحتی روی گوشی‌های موبایل قدیمی نوکیا (دوره 2008) اجرا شود، حالا نمی‌تواند با فناوری Ray Tracing واقعی، روی قدرتمندترین کارت گرافیک دنیا، به راحتی نمایش داده شود! با مشاهده این نتایج متوجه می‌شویم که سخت افزارهای کنونی، واقعا برای به نمایش گذاشتن Ray Tracing به صورت واقعی، ساخته نشده‌اند و این امر به شدت برایشان سنگین و پرتقاضا است. برای مشاهده این فناوری به شکل اصلی خود، باید سخت افزاری با توان پردازشی و محاسباتی 5 تا 10 برابر بیشتر از پردازنده‌های گرافیکی پیشرفته کنونی داشته باشیم و واضح است که هم‌اکنون، چنین قدرتی را در اختیار نداریم. در طرف دیگر، موتورهای گرافیکی کنونی (حتا قدرتمندترین آن‌ها) برای برآمدن از پس چنین چیزی، باید از نو و از پایه، طراحی و کد نویسی شوند. از همه این موارد نتیجه می‌گیریم که مشاهده Ray Tracing واقعی برروی کنسول های پلی‌استیشن 5 یا ایکس‌باکس اسکارلت (یا هر نامی که در نهایت برای آن انتخاب می‌شود)، یک امر غیر ممکن است و شاید بتوان متصور شد که قدرتمندترین رایانه‌های شخصی، حداقل در  5 سال دیگر بتوانند از پس پردازش چنین چیزی به صورت Real Time بربیایند. شاید بپرسید که برای مشاهده یک فوتج یا یک دموی به روز از فناوری Ray Tracing در یک بازی ویدیویی باید چه کاری انجام دهیم؟ اگر یادتان باشد، چندی پیش نمایش‌ها و دموهایی برای نمایش Ray Tracing واقعی به صورت Real Time منتشر شدند که از بین‌ آن‌ها می‌توان به دموی معروف Star Wars اشاره کرد. کارت‌های گرافیک نسل جدید انویدیا می‌توانند آن دمو را با نرخ فریمی به شدت نامتعادل اجرا نمایند اما توجه داشته باشید که این تنها یک دمو است و خبری از هوش مصنوعی و محیط‌های بسیار برای رندر کردن نیست بنابراین نمی‌توان خیلی روی آن‌ها حساب باز کرد!

اما آیا واقعا برای مشاهده یک تصویر جذاب و حیرت برانگیز که Ray Tracing در آن حرف اول را می‌زند، مجبور به پرداخت چنین بهای سنگینی هستیم؟ پاسخ این سوال قطعا «خیر» است. سازندگان و توسعه دهندگانی مانند استودیوی دایس (DICE) یا 4A Games (سازنده سری Metro)، هم‌اکنون با استفاده از تکنیک‌های فوق‌العاده‌ای توانسته‌اند تا Ray Tracing را شبیه سازی کرده و به شکل مطلوبی نمایش دهند. بازی‌هایی مانند Battlefield 5 و Metro Exodus شاید بهترین نمونه‌های نمایش رهگیری پرتو به صورت شبیه سازی شده باشند که با تقاضای بسیار کمتر از مقدار اشاره شده در بالا، توانسته‌اند رفتار نور و به طبع آن، بازتاب‌ها و سایه‌ها را به بهترین شکل به مخاطب نمایش دهند. در ماه‌های گذشته برنامه نویس بازی Metro Exodus از استودیوی 4A Games مصاحبه‌ای را با منبع تحلیلی دیجیتال فاندری داشته و در آن راه‌های ارزان تر و کم تقاضاتری را برای دستیابی به فناوری Ray Tracing (نوع شبیه سازی شده‌ آن) در بازی‌های ویدیویی معرفی کرده است؛ به این صورت که با استفاده از هسته‌های محاسبه گر یا پردازشگر سریع، به نتیجه نهایی برسیم. Ben Archard که باور دارد نمایش فناوری Ray Tracing حتی روی سخت افزار کنسول‌های نسل حاضر نیز ممکن است، این گونه توضیح می‌دهد:

این واقعا اهمیتی ندارد که از یک سخت افزار اختصاصی و خاص استفاده کنیم یا به سراغ قدرت کافی برای به تصویر کشیدن واحدهای Shader باشیم؛ من فکر می‌کنم که این می‌تواند متغیر باشد. برای نسل کنونی، راه‌هایی برای دستیابی به این موضوع وجود دارند. در زمینه تنوع سخت افزارهای نسل بعد برای دستیابی به Ray Tracing، هسته‌های سخت افزار نباید حتما به صورت RTX باشند. این هسته‌ها، تنها چیزهایی نیستند که در زمینه Ray Tracing می‌توان با آن‌ها کار کرد. این‌ها سخت افزار تنظیم شده‌ای هستند که محاسبات را مخصوصا برای تست‌های BVH سریع تر می‌سازند. این محاسبات می‌توانند با هسته‌های معمولی نیز انجام بگیرند؛ اگر به تعداد کافی و سرعت کافی باشند (که عقیده دارد در نسل بعدی کنسول‌ها به آن می‌رسیم). در واقع، هر GPU که بتواند DX12 را اجرا نمایند، می‌تواند DXR را نیز تا زمانی که جزئی از DX12 باشد، اجرا کند.

او همچنین در ادامه اشاره می‌کند که تولید یک الگوریتم BVH سریع، می‌تواند روند پردازش Ray Tracing را بهتر و راحت‌تر کند؛ به این صورت که اطلاعات به صورت Cache ذخیره می‌شوند و دستیابی به آن‌ها به صورت رندوم، تقاضای کمتری طلب می‌کند. طبق صحبت‌های آقای برنامه نویس، نمونه‌های شبیه سازی شده Ray Tracing هم‌اکنون و با سخت افزاری کنونی کنسول‌های نسل هشتم نیز قابل اجرا است و می‌توان با بودجه کم و اندک نیز از مزیت‌ها و ویژگی‌های دیدنی و خیره کننده فناوری رهگیری پرتو در بازی‌های ویدیویی نیز بهره مند شد. در دوره‌ و زمانه‌ای که رزولوشن اجرایی (با تکنیک‌های مختلفی مانند بازسازی یا چکربوردینگ) شبیه سازی می‌شود و رزولوشن مصنوعی، جای رزولوشن اصلی یا Native را می‌گیرد، چرا نتوان از تکنیک‌های خاصی برای شبیه سازی فناوری رهگیری پرتو برای مشاهده یک تصویر بهتر استفاده کرد؟ با پیشرفته ترین فناوری‌های امروزی مانند پردازنده‌های گرافیکی نسل جدید شرکت انویدیا، ما می‌توانیم Ray Tracing را به صورت Real Time و درون موتورهای کنونی به صورت شبیه سازی شده‌ (به شکل rasterized شده) مشاهده نماییم و از رفتار واقعی نور و عوامل متاثر از آن، به شکل شبیه سازی شده لذت ببریم. در مورد کنسول‌های نسل بعدی سونی و مایکروسافت، می‌دانیم که این کنسول‌ها قطعا از سخت افزار و پردازنده‌های شرکت AMD بهره خواهند برد و این شرکت نیز به مانند شرکت انویدیا، تمرکز خاصی برروی فناوری Ray Tracing و نمایش آن به صورت Real Time ندارد؛ بنابراین این احتمال نیز وجود دارد که رهگیری پرتو به کلی در فهرست برنامه‌های AMD، سونی و مایکروسافت قرار نداشته باشد. نکته اصلی این است که برای دیدن Ray Tracing در بازی‌های ویدیویی به صورت شبیه سازی شده، به هیچ وجه اجباری به استفاده از پردازنده‌های گرافیکی با ساختار Turing نیست و با هر پردازنده‌ای می‌توان رهگیری پرتو را روی کنسول‌های نسل بعد مشاهده کرد اما این به شرطی صادق است که شرکت‌های نام‌برده شده، برنامه‌ای برای ورود به جریان Ray Tracing داشته باشند.

Ray Tracing

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

23 پست
اشکان عالی‌خانی
مطالب مرتبط
تبلیغات
در مای نوکیا بخوانید
دیدگاه کاربران
هنوز دیدگاهی ثبت نشده
برای نوشتن دیدگاه می توانید به حساب کاربری خود وارد شوید ورود ارسال نظر به صورت مهمان
برچسب ها: , , , , , , , , , , , , , , , , , , , , , , ,