مجموعه‌ی GameWorks انویدیا، ابزاری برای توسعه‌دهندگان بازی است تا بتوانند گرافیک بازی‌ها را با صرف زمان کمتر و بدون نوشتن کدهای پیچیده و بهینه‌سازی عمیق، بهینه کنند. اخیراً بسته‌ی توسعه‌ی نرم‌افزاری گیم‌ورکس ۳٫۱ انویدیا منتشر شده که ۳ ابزار دیگر را در اختیار توسعه‌دهندگان بازی قرار می‌دهد. در ادامه با تکنولوژی‌های گرافیکی جدید گیم‌ورکس ۳٫۱ آشنا می‌شویم.

انویدیا در کنار معرفی گیم‌ورکس ۳٫۱، به PhysX هم بخشی دیگر به اسم PhysX-GRB اضافه کرده است. در بسته‌ی توسعه‌ی نرم‌افزاری جدید PhysX، روش جدیدی برای شبیه‌سازی دینامیک اجسام صلب (انعطاف‌ناپذیر) پیاده‌سازی شده که مبتنی بر پایپ‌لاین ترکیبی بین پردازنده‌ی اصلی و پردازنده‌ی گرافیکی است. انویدیا مدعی است که با روش جدید، ممکن است شبیه‌سازی معمولی یا سنگین اجسام صلب تا ۶ برابر سریع‌تر از قبل صورت گیرد.

انویدیا PhysX FLeX را برای شبیه‌های واقعی‌تر اجسام معرفی کرد.

انویدیا PhysX FLeX را برای شبیه‌های واقعی‌تر اجسام معرفی کرد.

تغییر دیگر بخش PhysX ، بهینه شدن NVIDIA Flow است که برای شبیه‌سازی سیالات قابل اشتعال و ایجاد آتش و دود کاربرد دارد. با بهینه‌سازی جدید، شبیه‌سازی به مکعبی که به عنوان مرز تعریف می‌شود، محدود نیست و در نتیجه انعطاف‌پذیری و مفید بودن انویدیا Flow بیشتر می‌شود.

و انویدیا به سمت متن‌باز کردن تکنولوژی‌ها حرکت می‌کند

خبر جالب برای توسعه‌دهندگانی که به تکنولوژی‌های متن‌باز علاقه دارند و می‌خواهند کدها را دقیقاً بررسی کنند این است که تمام تکنولوژی‌های گرافیکی انویدیا و PhysX به صورت بسته پیش نمی‌رود و گویا انویدیا می‌خواهد تدریجاً برخی موارد را به حالت متن‌باز تغییر دهد. به عنوان مثال کدهای شبیه‌سازی حرکت لباس و شبیه‌سازی انفجار و خرابی، بیش از یک سال است که روی Github قرار گرفته و در اختیار همگان است.

تکنولوژی‌های جدید مجموعه‌ی گیم‌ورکس و PhysX انویدیا

تکنولوژی‌های جدید مجموعه‌ی گیم‌ورکس و PhysX انویدیا

متن‌باز شدن برخی تکنولوژی‌ها، بهینه‌سازی درایور و پیاده‌سازی به موازات دیگر تکنولوژی‌های مفید را ساده‌تر می‌کند.

در مجموعه‌ی گیم‌ورکس هم از این پس Volumetric Lighting و FaceWorks متن‌باز می‌شود! قرار است هیرورکس و HBAO+ نیز در آینده‌ی نزدیک، متن‌باز شوند. تکنولوژی‌های جالب دیگر مثل آنتی الیاسینگ پیشرفته‌ای به اسم TXAA و ایجاد عمق میدان توسط DoF انویدیا و همین‌طور WaveWorks همچنان پشت درهای بسته در حال پیشرفت است و شاید روزی کدهای این موارد هم در اختیار عموم قرار گیرد.

تکنولوژی WaveWorks انویدیا برای شبیه‌سازی واقعی امواج سطح آب

تکنولوژی WaveWorks انویدیا برای شبیه‌سازی واقعی امواج سطح آب

گیم‌ورکس چیست؟

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

گیم‌ورکس پل ارتباطی انویدیا و بازی‌سازان برای بهبود گرافیک بازی‌ها

گیم‌ورکس پل ارتباطی انویدیا و بازی‌سازان برای بهبود گرافیک بازی‌ها

در سال‌های تعدّد جلوه‌های بصری بسیار زیاد شده و انویدیا بیش از ۳۰۰ تکنولوژی گرافیکی مختلف را معرفی کرده و یا در حال بهینه‌سازی آن است. در هر حال گیم‌ورکس معمولاً تکنولوژی‌های پیچیده و سنگین را شامل می‌شود. لذا گیم‌ورکس در تمام عناوین مفید نیست و حتی ممکن است توسعه‌دهنده، به دلایلی مثل بهینه نبودن معماری برای یک تکنولوژی خاص و یا وجود منابع پردازشی کم در کامپیوترهای معمولی، سراغ گیم‌ورکس نرود!

تصویر زیر نمونه‌ای از کاربرد ۱۰ تکنولوژی مختلف گرافیکی است که در نهایت گرافیک بازی را بسیار واقعی‌تر کرده و سرعت اجرا را قریب به ۲۰ برابر، کمتر کرده است!

تکنولوژی‌های گرافیکی گیم‌ورکس، سرعت اجرای بازی را 20 برابر کمتر کرده است!

تکنولوژی‌های گرافیکی گیم‌ورکس، سرعت اجرای بازی را ۲۰ برابر کمتر کرده است!

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

در حقیقت معماری کارت گرافیک‌های انویدیا نقاط قوت و ضعفی دارد و در گیم‌ورکس، پایپ‌لاین پردازش و اجرای تکنولوژی به گونه‌ای است که معماری‌هایی مثل مکسول (سری ۹۰۰) و کپلر (سری ۷۰۰ و ۶۰۰) از آن سود می‌برند. جالب است که گاهی همین سه سری کارت گرافیک‌های انویدیا نیز با برخی تکنولوژی‌های گیم‌ورکس مثل HairWorks برای طراحی واقعی‌تر مو و پوشش حیوانات، مشکل دارند. نمونه‌ی آن بازی Witcher 3 است که با فعال شدن هیرورکس، سرعت اجرای به شدت افت می‌کند.

سرعت اجرای Witcher 3 توسط کارت گرافیک‌های مختلف AMD و انویدیا

سرعت اجرای Witcher 3 توسط کارت گرافیک‌های مختلف انویدیا و AMD

بازی The Witcher 3: Wild Hunt یکی دیگر از عناوین گرافیکی امروز است. سرعت اجرای Witcher 3 توسط کارت گرافیک‌های مختلف انویدیا و AMD و اثر پردازنده روی اجرای آن موضوع این مقاله است.

بخشی از مشکل به سنگینی پردازش جلوه‌های بصری مربوط می‌شود که طبیعی است و ممکن است بخشی دیگر به الگوریتم‌های ناکارآمد مربوط شود.

بسته‌ی توسعه‌ی نرم‌افزاری GameWorks 3.1 انویدیا، سه تکنولوژی دیگر را به جمع گیم‌ورکسی‌ها اضافه می‌کند. هر سه مورد برای بهبود کیفیت نورپردازی و سایه‌زنی کاربرد دارند و تنها یک مورد برای معماری‌های قبل از مکسول مفید است که نورپردازی حجمی نام دارد. معماری مکسول سخت‌افزار خاصی دارد و با وجود Fast Geometry Shaders یا شیدرهای هندسی سریع، برخی پردازش‌های موردنیاز را با سرعت بهینه اجرا می‌کند. در معماری مکسول با کمک شیدرهای هندسی سریع می‌توان چند مرحله پردازش هندسه‌ی محیط را مستقل از دیگر پردازش‌های گرافیکی اجرا کرد، لذا پیاده‌سازی جلوه‌های ویژه‌ی خاص مثل نورپردازی و نگاشت هندسه روی سطوح برای ایجاد سایه، با سرعت بالاتری صورت می‌گیرد.

نورپردازی حجمی

NVIDIA Volumetric Lighting که به معنی نورپردازی حجمی است، حرکت نور در محیط را واقعی‌تر نمایان می‌کند و قبلاً در بازی Fallout 4 به کار رفته است. برای اطلاعات بیشتر در مورد سنگینی پردازش این مورد خاص، به بررسی سرعت اجرای این بازی مراجعه کنید.

نورپردازی حجمی یا NVIDIA Volumetric Lighting در بازی Fallout 4

نورپردازی حجمی یا NVIDIA Volumetric Lighting در بازی Fallout 4

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

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

نورپردازی حجمی یا Volumetric Lighting

نورپردازی حجمی یا Volumetric Lighting

سایه‌زنی مخروطی و نیم‌سایه‌ها با HFTS انویدیا

دومین مورد که اولین بار در بازی Tom Clancy’s The Division پیاده‌سازی شده، Hybrid Frustum Traced Shadows است، HFTS یا سایه‌زنی مخروطی به روش ترکیبی، ایجاد نیم‌سایه‌های واقعی را ممکن می‌کند و البته پردازش آن سنگین است. البته در مجموع انویدیا پیاده‌سازی این سایه‌ها را با روش ترکیبی خود بهینه کرده است اما ایجاد سایه‌ی دقیق در فاصله‌ی کم از جسم و سایه‌ی مات در فواصل دورتر، فرآیند پیچیده‌ای است.

سایه‌زنی مخروطی و نیم‌سایه‌ها با HFTS انویدیا و مقایسه با روش معمولی نگاشت سایه

سایه‌زنی مخروطی و نیم‌سایه‌ها با HFTS انویدیا و مقایسه با روش معمولی نگاشت سایه

در مورد تکنولوژی HFTS در دانش‌نامه‌ی اینتوتک بحثی مفصل داشتیم که بد نیست آن را مطالعه کنید.

VXAO، باکیفیت‌ترین روش پراکنش محیطی نور 

آخرین تکنولوژی NVIDIA Voxel Accelerated Ambient Occlusion یا به اختصار VXAO انویدیاست که در مقال معماری مکسول ۲ به آن اشاره شد. VXAO به معنی پراکنش محیطی نور به کمک واکسل است و در حقیقت از پیکسل حجمی یا واکسل برای تسریع پردازش پراکنش محیطی نور و مشخص کردن نقاط فرورفته و تاریک، استفاده می‌شود تا دقت نورپردازی و شاید سرعت پردازش، بهینه شود. طبعاً در دقیق‌ترین پیاده‌سازی‌های VXAO که در حقیقت واکسل‌ها کوچک‌تر و بیشتر هستند، سرعت اجرای بازی کمتر می‌شود و بهتر است از روش HBAO+ استفاده شود. اگر معماری پردازنده‌ی گرافیکی مکسول نباشد، شیدرهای هندسی سریع که به آن اشاره کردیم، وجود ندارد. با شیدرهای هندسی سریع، محاسبه و رندر هر یک از واکسل‌ها تا سه مرتبه ممکن است و در نتیجه سرعت پردازش به مراتب بیشتر خواهد بود.

تفاوت اصلی VXAO با HBAO+ و SSAO در این است که  می‌توان سایه‌ها را با در نظر گرفتن تمام هندسه (اجسام موجود) محیط، محاسبه کرد. در روش SSAO تنها انسداد محیطی اجسامی که در دید هستند، محاسبه می‌شود.

مقایسه کنید تا به توضیحات بیشتر بپردازیم:

مقایسه کیفیت VXAO و HBAO+

مقایسه کیفیت VXAO و HBAO+

دقت کنید که منظور از انسداد محیطی یا پراکنش محیطی نور این است که نقاط فرورفته و نواحی بین اجسام نزدیک، در دنیای واقعی تاریک‌تر است، هر چند سایه‌ی دقیقی وجود ندارد. این نواحی می‌بایست به روش‌های قدیمی مثل SSAO نرم‌افزاری یا HBAO+ و یا روش جدید VXAO تاریک شوند. اما مشکل SSAO و روش‌های مبتنی بر آن نظیر HBAO+ چیست؟

در VXAO تنها فاصله تا دوربین مهم نیست.

در روش‌های قدیمی نقاطی تاریک می‌شوند که در فرورفتگی‌ها قرار دارند و فرورفتگی‌های با توجه به فاصله‌ی نقاط تا دوربین (نقطه‌ی دید گیمر) مشخص می‌شود. لذا موتور گرافیکی بازی نمی‌تواند اجسامی که در دید نیست را لحاظ کند و متأسفانه این اجسام در تاریک‌تر شدن اجسام جلوی دوربین، اثرگذار هستند. دقیق‌تر بررسی کنیم، در روش HBAO+ که افق ناحیه‌ای را با توجه به تغییرات فاصله با دوربین محاسبه می‌کند، زاویه ملاک تاریکی یا روشنی است و زاویه با توجه به فاصله‌‎ی نقاط اطراف تا دوربین محاسبه می‌شود.

محاسبه‌ی افق و زاویه‌ی آن در روش HBAO

محاسبه‌ی افق و زاویه‌ی آن در روش HBAO

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

تمام اجسام با واکسل پوشیده می‌شوند

در روش جدید VXAO، تمام محیط با واکسل (پیکسل سه‌بعدی) پوشیده می‌شود. هر واکسل ممکن است شامل جسم باشد (قرمز) و یا بخشی از آن جسم باشد (آبی). محاسبه‌ی سایه به این صورت انجام می‌شود که واکسل‌های نزدیک یک واکسل از نظر وجود یا عدم وجود جسم بررسی می‌شوند و در نتیجه روش VXAO بسیار دقیق است. چه واکسل‌های همسایه در دید باشند و چه نباشند، در محاسبات لحاظ می‌شود. طبیعی است که سرعت پردازش پایین‌تر است. کیفیت VXAO در بازی Rise of Tomb Raider بهتر از HBAO+ و SSAO است:

مقایسه کیفیت VXAO و HBAO+

مقایسه کیفیت VXAO و HBAO+

همان‌طور که مشاهده می‌کنید روشنایی اغلب اجسام کمتر از دو روش قدیمی است و در دنیای واقعی هم وضعیت درست به همین صورت است.

0 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 50 votes, average: 0٫00 out of 5 (0 نظر، امتیاز: 0٫00 از 5)
برای نظر دادن ابتدا باید ثبت نام کنید.
Loading...
لينک کوتاه:

FacebookTwitterGoogle


بيشتر بخوانيد:

دیدگاه بگذارید

اولین دیدگاه را بنویسید!

اطلاع از
wpDiscuz

تبلیغات

ویژه‌ها

تبلیغات

تبلیغات

×