ماینکرفت به عنوان پرفروش ترین بازی جهان و با داشتن نزدیک به 150 میلیون کاربر فعال میتواند هر فاکتور و ویژگی را خیلی زود به صدر اخبار گیم جهان ببرد و به نظر میرسد این موضوع در مورد ری تریسینگ هم صدق میکند.
برای تماشای آیتم ویدیویی در یوتوب کلیک کنید
زمانی که اعلام شد کنسولهای جدید از تکنولوژی Ray Tracing استفاده میکنند، به یکباره توجه بسیاری از گیمرها به این قابلیت جدید گرافیکی جلب شد. اما پیش از رونمایی از نسخه کنسولی این تکنولوژی تکنولوژی دو بازی در این میان بیش از هر عنوان دیگری توجهها را به خود جلب کردند. تکنولوژی که فعلا Nvidia در زمینه توسعه آن حرف اول را میزند و با نمایشهای مختلفی توانسته ابعاد و قدرت آن را به نمایش بگذارد. سالها از انتشار Quake 2 گذشته اما توسعه دهندگان نسخه RTX آن توانستند جان دوبارهای به یکی از شوترهای کلاسیک صنعت بازی دهند. این موضوع درباره Minecraft هم صدق میکند. بازیای که همواره گرافیک ساده یکی از مشخصههای اصلی آن بوده و به شکل کلی مصداقی برای این موضوع است که لزوما گرافیک نمیتواند تاثیر چندانی در کیفیت تجربه یک بازی ویدیویی داشته باشد. اکنون اما Nvidia با همکاری تولیدکنندگان اصلی Minecraft نسخهای از آن را تحت عنوان RTX در اختیار گیمرها قرار داده که به شکل خاص روی تکنیک Ray Tracing و Path Tracing تمرکز دارد. نسخهای که توانست نمایشی دقیق و مشخص از قابلیتهای این تکنولوژی جدید باشد و در ادامه سعی داریم به جزئیات بیشتری از آن بپردازیم. جزئیاتی که نشان میدهند در آیندهای نزدیک Ray Tracing نه فقط در ماینکرفت بلکه میتواند نگاه ما به گرافیک کامپیوتری را تغییر دهد.
برای بسیاری از گیمرها که شاید علاقه چندانی به مباحث گرافیکی نداشته باشند، سخت است توضیح و نمایش تکنیکهای برگرفته از Ray-Tracing و Path Tracing ؛ مخصوصا در بازیهای مدرنی که به خودی خود خروجی تصویر باکیفیتی را ارائه میکنند. هرچند امروزه Ray-Tracing و Path Tracing از دید عموم تفاوت چندانی ندارند اما به شکل تخصصی باید توضیح داد که معمولا از Ray Tracing زمانی استفاده میشود که یک یا چند قابلیت مثل سایهپردازی یا بازتاب لحاظ شده باشد اما در مقابل Path Tracing برای زمانی کاربرد دارد که راه حلی کلی با استفاده از تمامی قابلیتها را شاهد باشیم. با این وجود تفاوت اصلی بین رندر به شکل Rasterization و Path Tracing این است که در راه اول همه چیز از قبل تعیین شده و در شکل دوم تمامی پردازشهای گرافیکی در ساختار Real Time صورت میگیرند.
اضافه شدن Ray-Tracing به Minecraft اما از مارچ سال 2019 شروع شده. یکی از دلایلی که Nvidia به سراغ Minecraft رفته به این موضوع بر میگردد که ساختار اصلی بازی، تمرکز بسیاری روی محتوای تولید شده از سوی کاربر دارد و به لطف این ویژگی میتوانیم شاهد انقلابی گرافیکی در ماینکرفت باشیم. همین مسئله باعث میشود در زمینه نورپردازی یا به شکل کلی تکنولوژیهای مورد استفاده در موضوع گرافیک، ساختاری قدیمی مثل استفاده از لایتمپ، خروجی مناسبی را ارائه نکند. شاید از دید مخاطبها رفتن به سراغ Minecraft برای پیادهسازی Path-Tracing، به گرافیک ساده آن ارتباط داشته باشد اما Nvidia به این موضوع اشاره دارد که از دید ساختارهای اصلی گرافیکی، ساخته Mojang با دیگر بازیهای امروزی، تفاوت چندانی ندارد. شاید اینجا همه چیز براساس مکعبهای ساده طراحی شده باشد اما این تنها استایل گرافیکی است که سازندگان بازی انتخاب کردهاند و همچنان بسیاری از قواعد و اصول همیشگی گرافیک کامپیوتری در Minecraft حضور دارد. از این رو پیچیدگیهای اجرای Path-Tracing در Minecraft تفاوت چندانی با دیگر بازیهای امروزی ندارد.
اصلیترین موضوعی که باعث شده Minecraft RTX نسبت به Quake 2 RTX ارتقای قابل توجهی را تجربه کند، اضافه شدن Multi-bounce global illumination است. تکنیکی که اینجا برای پیادهسازی آن از Irradiance cache استفاده شده. حالا معنای ساده این کلمات و تکنیکها به ظاهر پیچیده چیست ؟ باید گفت به شکل کلی تکنیک Multi-bounce global illumination به بازی اجازه میدهد که نور منتشر شده از منبع اصلی را در هشت نقطه و مرحله متفاوت از سطوحی که قابلیت انعکاس را در اختیار دارند، حرکت دهد. مثلا راهرویی را در نظر بگیرید که در ابتدای آن منبع نوری وجود دارد. نور منتشر شده از این منبع به دیوارههای راهرو برخورد کرده و منعکس میشود و تا نقطهای خاص حرکت میکند. از این نقطه به بعد، دقیقا همانند چیزی که در واقعیت شاهد هستیم، حرکت نور متوقف یا ضعیف شده و به همین واسطه محیط کمتر از گذشته روشن میشود. برای اجرای سریع این تکنیک پیچیده در Minecraft RTX از Irradiance cache شده که به زبان ساده باعث افزایش سرعت اجرا میشود. موضوعی که هرچند در حال حاضر همچنان با تاخیر اندکی همراه است اما نسبت به گذشته ارتقای قابل توجهی را تجربه کرده.
شاید در دید کلی انعکاس نور بیش از هر چیزی در Path Tracing و Ray Tracing نظر مخاطب را به خود جلب کند اما یکی دیگر از نکاتی که باید به آن توجه کرد، خصوصیاتی است که نور در زمان انعکاس به خود میگیرد. درست همانند واکنش واقعی نور در این نسخه از Minecraft، هر سطحی با هر رنگی نسبت به نور منعکس شده از سطح خود تاثیری متفاوت دارد. جدای از اینکه انعکاس و حتی سایههای شکل گرفته از اشیا با توجه به رنگ و جنس هر مکعب تغییر رنگ میدهد، شاهد قرارگیری مکعبهایی هستیم که نور را از خود عبور میدهند. در اینجا Nvidia توانسته با استفاده از فرمولی جالب توجه به خروجی مناسبی دست پیدا کند. زمانی که نور اصلی به یکی از معکبهای شیشهای و رنگی برخورد میکند، ادامه انتشار آنها بسته به رنگ مانع اشاره شده تغییر میکند. تغییری که در اصل بهتر از است بگوییم به حذف دیگر رنگهای حاضر در نور خلاصه میشود. در اینجا برای نورپردازی Minecraft RTX، سازندگان به موانع سر راه نور نگاه کرده و براساس آن ادامه حرکت را برنامهریزی میکنند. در زبان ساده نور تغییر رنگ نمیدهد بلکه دیگر رنگهای حاضر در خود را از دست داده و در ادامه به سطح دیگری برخورد میکند. این موضوع البته تنها در یک برخورد خلاصه نشده و میتوان نور را از موانعی با رنگهای کاملا متفاوت عبور داد و نهایتا به خروجیهایی متناسب با ترکیب رنگی آنها دست پیدا کرد.
کیفیت بالای نورپردازی Minecraft RTX را میتوان در تمامی نقاط آن پیدا کرد. بخش دیگری که میتواند به خوبی یادآور رفتار واقعی نور باشد به برخورد و عبور آن از آب برمیگردد. آب در این نسخه از بازی به شکل Volumetric یا حجمدار طراحی شده و به شکل مانعی برای نور کار میکند. درست همانند رفتار نور و آب دریا، اینجا هم با افزایش عمق، میزان نور انتقال یافته کاهش پیدا کرده تا به نقطهای برسد که عملا از آن میتوان به عنوان سیاهی مطلق یاد کرد. تولیدکنندگان Minecraft RTX در Nvidia حتی پا را فراتر از استانداردهای آشنای Path Tracing گذاشته و به سراغ تکنیکهای رفتهاند که شاید در هیچ بازی دیگری پیدا نشوند. در حال حاضر خصوصیات آب و هوایی همچون مه نسبت به تابش نور از منابع اصلی همچون خورشید داخل بازی تاثیر میگیرند. در اصل باید گفت نور آفتاب به ساختار مه واکنش نشان داده و حرکت سختتری را از آن تجربه میکند. این در حالی است که توسعهدهندگان این نسخه قصد دارند این موضوع یعنی تاثیرپذیری مه از نور و بلعکس آن را برای بازتابهای نور اصلی از سطوح دیگر نیز لحاظ کنند. موضوعی که میتواند طبیعیترین شکل ممکن از رفتار نور را در محیطی واقعی شبیهسازی کند.
دیگر موضوعی که همچنان مورد توجه سازندگان بازی قرار داشته به تاخیری ارتباط دارد که پیشتر به آن پرداختیم. هرچند ساختار فعلی تا حد امکان به Real Time بودن تغییرات و واکنشهای نور کمک کرده اما همچنان شاهد تاخیری هستیم که نشات گرفته از رفتار دینویزر قرار گرفته در بازی است. هرکدام از برخوردهای نور با سطوح باعث ایجاد شده نویزهای نوری میشود که بایستی به واسطه قرار گرفتن دینویزر برطرف شوند. در حال حاضر تیم سازنده از سه نوع دینویزر کاملا مجزا برای رسیدن به شفافترین تصویر ممکن استفاده کردهاند اما موفق به برطرف کردن تاخیر موجود نشدهاند. موضوعی که برای ادامه این مسیر در دستور کاری آنها قرار دارد.