رهگیری پرتو چیست و برای بازی‌های ویدیویی به چه معناست؟

به نسل جدید گرافیک در بازی‌های ویدیویی خوش آمدید

2

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

جزییات دقیق و کامل هنوز منتشر نشده. سونی تایید کرده که پلی استیشن 5 (یا هرچه که اسم کنسول بعدی‌اش باشد) تا قبل از سال ۲۰۲۰ عرضه نمی‌شود و مایکروسافت می‌گوید برای عرضه پروژه اسکارلت در تعطیلات پایان سال ۲۰۲۰ برنامه‌ریزی کرده است. اما یک ویژگی در نسل بعدی گرافیک بازی‌های ویدیویی است که هم روی کنسول و هم روی پی سی در حال جلب توجه است – نه، درباره رزولوشن 8K صحبت نمی‌کنیم که ظاهراً هم پلی استیشن 5 و هم پروژه اسکارلت از آن پشتیبانی می‌کنند، حتی با اینکه احتمالاً از نظر عمده کاربران هیچ اهمیتی نخواهد داشت.

رهگیری پرتو -یا به صورت دقیق‌تر، رهگیری همزمان پرتو (Real-Time Ray Tracing)- ترندی جدید در حوزه گرافیک است و دلیل خوبی هم برای آن وجود دارد: رهگیری پرتو آینده گرافیک است. این تکنیک تا همین اواخر قادر به پیاده‌سازی در بازی‌های ویدیویی نبود؛ صرفاً در انحصار جهان فیلم‌سازی هالیوود قرار داشت و برای مدت‌های طولانی برای تولید تصاویر کامپیوتری در انیمیشن و افکت‌های بصری استفاده می‌شد (و همین‌طور برای ترکیب غیرقابل تشخیص تصاویر کامپیوتری با ویدیوهای لایواکشن). حالا با تایید اینکه پلی اسیتشن 5 و پروژه اسکارلت از رهگیری همزمان پرتو پشتیبانی می‌کنند، تکنیک مورد اشاره قرار است به المانی مهم در گرافیک نسل بعد تبدیل شود.

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

رهگیری پرتو چیست و چطور کار می‌کند؟

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

رهگیری پرتو اساساً همین پروسه به صورت برعکس است و نامی که برای آن انتخاب شده، معنای دقیق را می‌رساند: این نام به متد ساخت تصویری کامپیوتری اشاره دارد که با «رهگیری» مسیر نور از یک چشم خیالی یا دوربین تا شی حاضر در تصویر کار می‌کند. (این روش به مراتب از رهگیری تمام پرتوهایی که توسط منبع نور ساطع می‌شوند موثر است؛ زیرا پردازش هر پرتویی که قرار نیست در میدان دید بیننده باشد، قدرت کامپیوتری را هرز می‌برد).

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

از آن جایی که رهگیری پرتو بر شبیه‌سازی حرکت نور در دنیای واقعی و رفتار آن هنگام تعامل با مواد و متریال‌های فیزیکی مبتنی است -یا به بیان دیگر، از قوانین فیزیک پیروی می‌کند- تصاویر کامپیوتری تولید شده از طریق رهگیری پرتو می‌توانند حقیقتاً فوتو رئالیستیک باشند. به همین خاطر است که این تکنیک به نُرمی در صنعت فیلم‌سازی تبدیل شده. اما یکی از نقاط ضعف رهگیری پرتو این بود که آنقدر کامپیوترها را به چالش می‌کشید که برای گرافیک‌ بازی‌های ویدیویی که به صورت همزمان (Real-Time) رندر می‌شوند عملاً ناکارآمد به حساب می‌آمد؛ البته تا همین اواخر.

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

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

کمپانی‌هایی مانند Weta Digital و پیکسار «مزارع رندر» دارند -ابرکامپیوترهایی که از ده‌ها هزار هسته پردازشی به صورت همزمان استفاده می‌کنند- و می‌توانند ساعت‌ها صرف تولید یک فریم واحد از یک افکت بصری خاص، یا هرچیزی که در یک انیمیشن روی صفحه دیده می‎شوند کنند. اما تمام محاسبات پردازنده و پردازشگر گرافیکی که صرف تولید یک فریم از بازی‌های ویدیویی می‎شود، باید در کمتر از یک ثانیه اتفاق بیفتد. این به آن خاطر است که یک دستگاه گیمینگ، باید قادر به رندر حداقل 30 فریم جدید در هر ثانیه باشد؛ به صورت آنی؛ تا تجربه‌ای روان از بازی به دست آید. (به همین خاطر است که کات‌سین‌های از پیش رندر شده معمولاً به مراتب بهتر از خود گیم‌پلی به نظر می‌رسند؛ زیرا توسعه‌دهندگان می‌توانند روی بازی وقت گذاشته و افکت‌های بیشتری را به ویدیویی از پیش ضبط شده اضافه کنند).

در مقابل، گرافیک کامپیوتری همزمان برای چند دهه از پروسه‌ای به نام «رستریزشن – Rasterization» برای رندر استفاده کرده است. اگرچه رستریزیشن هم نیازمند قدرت پردازشی فراوان است، پردازشگرهای گرافیکی مدرن کاملاً با این تکنیک سازگاری دارند و قادر به خواندن سریع پالیگان‌ها و تبدیل‌شان به پیکسل‌هایی با قابلیت سایه‌پردازی و نورپردازی هستند. با این همه وقتی نوبت به گرافیک فوتو رئالیستیک می‌رسد، تکنیک رستریزیشن با محدودیت‌های زیادی مواجه می‌شود، خصوصاً در زمینه نورپردازی. طی سالیان متمادی، توسعه‌دهندگان بازی از تکنیک‌های هوشمندانه‌ای برای تولید المان‌های نورپردازی مانند بازتاب، سایه و نورانی‌سازی غیرمستقیم استفاده کرده‌اند، اما پیاده‌سازی تمام این ترفندها صرفاً به این خاطر ضروری بود که رهگیری پرتو هنوز به جایگزینی امکان‌پذیر تبدیل نشده بود.

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

استودیوی دایسِ الکترونیک آرتز از این تکنیک برای بازتاب نور در بتلفیلد 5 استفاده کرد، کریستال داینامیکس به آوردن آن روی Shadow of the Tomb Raider تمرکز کرد و 4A Games هم به سراغ نورانی‌سازی سراسر (Global Illumination) و Ambient Occlusion در Metro Exodus رفت. پشتیبانی از رهگیری پرتو هم‌چنان به صورت محدود انجام می‌شود، اما شرایط تغییر خواهد کرد.

چرا رهگیری پرتو آینده گرافیک بازی‌های ویدیویی است؟

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

مایکروسافت پشتیبانی از رهگیری پرتو را طی پاییز گذشته با دایرکت اکس 12، یکی از نرم‌افزارهای کلیدی برای بازی‌های ویندوز و ایکس باکس وان، ادغام کرد. در کنفرانس توسعه‌دهندگان سال 2019 که ماه مارس برگزار شد، اپیک گیمز و یونیتی اعلام کردند که موتورهای بازی‌سازی‌شان – به ترتیب، آنریل انجین و یونیتی که جزو محبوب‌ترین موتورهای بازی‌سازی دوران مدرن به حساب می‌آیند- حالا به صورت بومی از رهگیری پرتو پشتیبانی می‌کنند. کرایتک هم به زودی رهگیری پرتو مبتنی بر نرم‌افزار را به کرای انجین می‌آورد و این یعنی بازی‌هایی که با کرای انجین ساخته شوند، بدون نیاز به سخت‌افزاری مانند کارت‌های RTX انویدیا قادر به ارائه رهگیری پرتو هستند.

اصلی‌ترین رقیب انویدیا، یعنی AMD هم در زمینه رهگیری پرتو بیکار نمانده. این کمپانی هنوز از پردازشگرهای گرافیکی مخصوصش با پشتیبانی مبتنی بر سخت افزار از رهگیری پرتو رونمایی نکرده – در مراسم رونمایی از کارت‌های نسل بعد با معماری Navi هم در جریان نمایشگاه E3 2019، هیچ اشاره‌ای به پشتیبانی از رهگیری پرتو در کارت‌های Radeon RX 5700 XT و مدل ارزان‌تر RX 5700 نشد. با این همه، هم پروژه اسکارلت و هم پلی استیشن بعدی از سیلیکون AMD استفاده می‌کنند، از جمله پردازشگر گرافیکی شخصی‌سازی‌شده‌ای که از معماری Navi بهره می‌برد. بنابراین اگر پلی استیشن 5 و اسکارلت از رهگیری پرتو پشتیبانی می‌کنند، می‌توان با قطعیت گفت که این موضوع درباره کارت‌های گرافیکی Navi هم مصداق دارد.

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

منبع: پالیگان

2
نظر تو چیه ؟

avatar
1000
2 نظرات
0 پاسخ ها
0 دنبال کنندگان
 
بیشترین واکنش
پرطرفدار ترین
2 نویسندگان دیدگاه
فرزینمعین آخرین نویسندگان دیدگاه
  مشترک شدن  
جدید ترین قدیمی ترین بیشترین امتیاز
اطلاع رسانی کن
فرزین
مهمان
فرزین

جالب بود.

معین
مهمان
معین

کسی که این مطلبو نوشته اشک ترجمه رو درآورده. رهگیری همزمان پرتو؟؟؟؟ دوست من تو کامپیوتر خیلی چیزا اصطلاحه ترجمه نکنی مخاطب راحت تر میفهمه. raytrace چیز جدیدی نیست تقریبا اولین تکنیک رندر معرفی شدس ولی چون برای هرپیکسل باید معاده خط و صفحه حساب میکرد به درد بازی نمیخورد تو همون انیمیشن واسه واقع گرایی ازش استفاده کردن. فقط چون سخت افزار قوی شده و بعضی تکنیکاش رو کارت گرافیک بهینه شدن میشه ریل تایم ازش استفاده کرد. حداقل ای کاش به جای همزمان مینوشتین بلادرنگ یا در لحظه. همزمان کلا معنی چیز دیگه میده.

ورود
بارگذاری...
ثبت نام
بارگذاری...