پشتیبانی از رهگیری پرتو مبتنی بر Nvidia RTX به Vulkan API افزوده شد
گروه Khronos آخرین نسخه از افزونهی رهگیری پرتو را برای Vulkan API منتشر کرد که براساس استاندارد انویدیا RTX توسعه یافته است. اضافه کردن رهگیری پرتو به API مذکور میتواند آن را به اولین استاندارد آزاد چندپلتفرمی تبدیل کند که استفاده از رهگیری پرتو را در محصولات بیشتری از تولیدکنندههای متنوع، بههمراه خواهد داشت.
گروه توسعههنده میگوید رهگیری پرتو در رابط برنامهنویسی ولکان بر پایهی افزونهی اختصاصی انویدیا برای رهگیری پرتو توسعه یافته است؛ اما قابلیتهای اضافهی هوشمندانهتری دارد. خرونوس در معرفی رابط جدید میگوید برخی قابلیتهای موقت بهصورت عمومی در دسترس کاربران قرار دارند و همچنین درایورهای آزمایش توسعهدهنده برای تست و بازخورد دادن ازسوی فعالان صنعت آماده هستند. درواقع انویدیا هم از رابط جدید ولکان پشتیبانی میکند و درایورهای بتا لینوکس آن را منتشر خواهد کرد.
دنیل کو، مهندس ارشد نرمافزارهای سیستم گرافیکی در انویدیا و عضو زیرمجموعهی رهگیری پرتو در تیم ولکان خرونوس دربارهی دستاورد جدید میگوید:
تقاضای زیادی ازسوی توسعهدهندهها داشتیم که نیازمند رابط برنامهنویسی چند پلتفرمی برای شتابدهی به قابلیتهای رهگیری پرتو بودند. اکنون رهگیری پرتو در ولکان برای پاسخ به همان تقاضا عرضه شده است.معماری کلی Vulkan Ray Tracing شباهت زیادی به رابطهای برنامهنویسی کنونی در حوزهی رهگیری پرتو دارد که پورت کردن محتوای کنونی رهگیری پرتو را آسانتر میکند. بهعلاوه، این فریمورک کاراییهای جدید و انعطافپذیری بیشتر را در پیادهسازی ارائه میکند.
رابط برنامهنویسی ولکان را میتوان اولین استاندارد باز و چند پلتفرمی و مخصوص سازندههای گوناگون رهگیری پرتو در صنعت دانست. حرکت جدید، Vulkan API را با رابط برنامهنویسی DXR مایکروسافت (DirextX Ray-Tracing) برابر میکند. از قابلیتهای رابط جدید ولکان میتوان به موارد زیر اشاره کرد:
- فریمورک رهگیری پرتو منسجم که بهصورت یکپارچه در عملکرد کنونی ولکان ادغام میشود. درنهایت شامل ترکیبی انعطافپذیر از شطرنجیسازی و رهگیری پرتو خواهیم بود.
- رابطی آشنا برای کاربران کنونی رابطهای کاربری اختصاصی که با انعطافپذیری بیشتر در پیادهسازی همراه میشود.
- تمرکز روی تفاصای بازار دسکتاپ برای رندر آنی و آفلاین
رابط برنامهنویسی Vulkan RT شامل تعدادی افزونهی Vulkan و SPIR-V و GLSL میشود که برخی از آنها، اختیاری هستند. افزونهی اصلی VK_KHR_ray_tracing پشتیبانی از شتابدهی تولید زیرساخت و مدیریت آنها، پایپلاینها و سطوح سایهزنی RT و بخشهای RayQuery Intrinsic را برای تمامی سطوح سایهزنی ارائه میکند. VK_KHR_Pipeline_library بخش دیگری محسوب میشود که قابلیتهای سایهزنی بیشتر را به پایپلاینهای رهگیری پرتو میافزاید.
از بخشهای دیگر رابط برنامهنویسی ولکان میتوان به VK_KHR_deferred_host_operations اشاره کرد که عملیات درایور شدید و عمیق را ممکن میکند. ازمیان آنها میتوان تلفیق پایپلاینهای رهگیری پرتو یا شتابدهی بهکمک پردازندهی مرکزی را نام برد.
غولهای دنیای پردازش گرافیکی از Vulkan API پشتیبانی میکنند
بخشهای سایهزنی Vulkan RT، باینریهایی ازنوع SPIR-V هستند که از دو افزونهی جدید استفاده میکنند. افزونهی SPV_KHR_ray_tracing پشتیبانی از سطوح سایهزنی رهگیری پرتو و دستورالعملهای مرتبط را اضافه میکند. مهندسان در شرکتهای عضو گروه خرونوس شامل انویدیا، همچنین پشتیبانی از افزونههای SPIR-V را به DXC، کامپایلر متنباز HLSL مایکروسافت افزونهاند. این اقدام باعث میشود تا کاربردهای سایهزنی SPIR-V در HLSL هم پشتییانی شوند.
هریک از شرکتهای فعال در صنعت پردازش گرافیکی، اظهارنظرهایی پیرامون اضافه شدن پشتیبانی از رهگیری پرتو در رابط برنامهنویسی ولکان داشتهاند. مورگان مکگوایز، مدیر تحقیقات در انویدیا در اینباره میگوید:
انویدیا، درایورهای آزمایشی مرتبط را عرضه میکند که از رهگیری پرتو استاندارد در ولکان پشتیبانی میکنند. اضافه شدن رهگیری پرتو حرفهایتر به رابط برنامهنویسی چند پلتفرمی و استاندارد باز ولکان، قدم مثبتی در مسیر جلوههای گرافیکی با بیشترین کیفیت و تجربهی نزدیک به واقعیت محسوب میشود. کارایی این قابلیتها در بازیهای حرفهای و کاربردهای مشابه، دیده میشود.
آندره دراوکویچ از AMD دربارهی رابط Vulkan و قابلیتهای جدید میگوید:
استانداردسازی رهگیری پرتو در ولکان، قدم مهمی در مسیر ارائهی فناوری رهگیری پرتو برای دستگاههای متنوع محسوب میشود. بهعلاوه، توسعهدهندهها میتوانند از حداکثر مزیتهای این فناوری استفاده کنند. AMD تصمیم دارد تا از تمامی قابلیتهای اصلی این افزونه پشتیبانی کند. ساختارهایی همچون سایهزنی رهگیری پرتو، RayQuery و مدیریت ساختار شتابدهی بهکمک پردازندهی مرکزی، پشتیبانی خواهند شد. ما همکاری نزدیکی با توسعهدهندهها خواهیم داشت تا حداکثر کارایی از پیادهسازی رهگیری پرتو ولکان استخراج شود. این تلاشها باعث میشود تا بتوانیک گرافیک خیرهکنندهتری را در پردازندههای گرافیکی رادئون به مصرفکنندهی نهایی عرضه کنیم.
اینتل هم با کارتهای گرافیک Xe بهزودی حضور خود را در بازار پردازش گرافیکی افزایش میدهد. جاشوا بارزاک، معمار نرمافزارهای گرافیکی در اینتل دربارهی رابط برنامهنویسی جدید میگوید:
نقشهی راه معماری Intel Xe شامل پشتیبانی از رهگیری پرتو در سطح سختافزاری هم میشود. ما از همکاری با گروه خرونوس در پیادهسازی پشتیبانی کامل از ولکان، شگفتزده هستیم.
گروه خرونوس، درکنار رونمایی از API جدید، مثالی بصری از بهکارگیری Vulkan Ray Tracing در بازی Wolfenstein: Youngblood منتشر کرد. در نمونهی منتشرشده، صحنهای از بازی از ترکیب شطرنجیسازی و رهگیری پرتو استفاده میکند.
اگرچه تغییراتی که در آینده در ساختارهای رهگیری پرتو براساس API جدید ایجاد میشوند، آنچنان عظیم نیستند، اما دلایل متعددی برای شگفتزده بودن از اقدام جدید گروه خرونوس وجود دارد. رابط برنامهنویسی ولکان، وابستگی زیادی به سختافزار ندارد. درواقع اگرچه رابط برنامهنویسی ابتدا با هدف افزایش کارایی سختافزار مخصوص رهگیری پرتو (انویدیا RTX یا AMD RDNA2) طراحی شد، توانایی استفاده از ظرفیتهای پردازشی پردازندهی گرافیکی را برای رهگیری پرتو دارد. البته باتوجه به اضافه شدن هستههای رهگیری پرتو در پردازندههای گرافیکی آینده، شاید آن گزینه دیگر بهصورت جامع پشتیبانی نشود.
مایکروسافت احتمالا از استاندارد اختصاصی DXR در کنسول بازی ایکسباکس سری ایکس استفاده میکند، اما شاید سونی برای پلیاستیشن 5 سراغ ولکان برود؛ چون رابط برنامهنویسی مذکور، انعطافپذیری بیشتری برای توسعهدهندهها دارد. بهعلاوه، استفاده از ولکان در بازیهای PC هم احتمالا با آثار خوبی در قدرت و کیفیت بازیها همراه خواهد بود. باتوجه به پشتیبانی سه غول اصلی دنیای پردازش گرافیکی، میتوان آیندهی روشنی را برای بازیها در سال ۲۰۲۰ انتظار داشت.