PhysX متنباز یک گام مهم برای توسعهدهندگان
انویدیا (NVIDIA) بهتازگی SDK مربوط به سیستم فیزیک زمانواقعی خود یعنی PhysX و همچنین سیستم شبیهسازی سیالات گازی به نام Flow را بهصورت کامل متنباز کرده است.
قبلاً فقط باینریهای از پیش کامپایلشده برای شتابدهی GPU ارائه میشدند، اما نسخههای جدید PhysX 5.6 و Flow 2.2 کد منبع کامل GPU را نیز شامل میشوند.با مازستا همراه باشید.
از بازیهای ویدیویی تا نرمافزارهای شبیهسازی حرفهای
PhysX ابتدا به عنوان یک سیستم پویایی زمانواقعی برای بازیها معرفی شد و همچنان در موتورهای بازیسازی مانند Unity و O3DE کاربرد دارد (هرچند در Unreal Engine 5 با سیستم Chaos جایگزین شده است).
امروزه PhysX در ابزارهای شبیهسازی آفلاین مانند افزونه tyFlow برای 3ds Max و شبیهساز جمعیت Golaem در Maya نیز به عنوان موتور فیزیکی استفاده میشود.
این سیستم قادر است شبیهسازی اجسام صلب (Rigid Bodies)، اجسام نرم (Soft Bodies) و شبیهسازی مواد دانهای و مایعات با استفاده از دینامیک مبتنی بر موقعیت را انجام دهد.
متنباز شدن کامل، اینبار شامل کدهای GPU
NVIDIA برای اولین بار در سال ۲۰۱۸ بخشی از PhysX را متنباز کرد و در سال ۲۰۲۲ کتابخانه Flow را معرفی نمود. اما تا پیش از این، فقط کدهای CPU بهطور کامل متنباز بودند و پشتیبانی از GPU بهصورت باینری ارائه میشد.
اکنون در نسخههای جدید PhysX 5.6 SDK و Flow 2.2، کد منبع GPU نیز در دسترس قرار گرفته است و این به معنای متنباز بودن کامل هر دو فناوری است.
دولتکنندگان میتوانند امکان شتابدهی GPU را برای سختافزارهای AMD یا Intel فراهم کنند، البته این کار نیازمند تلاش زیادی است. طبق گفته انویدیا، PhysX بیش از ۵۰۰ کرنل (Kernel) برای CUDA دارد.

نحوه دسترسی به کدها و سیستم موردنیاز
کد منبع SDK مربوط به PhysX نسخه 5.6 اکنون در GitHub و تحت لایسنس BSD سهشرطی قابل دانلود است. این کدها قابلیت کامپایل برای ویندوز 10 به بالا و لینوکس (تستشده روی Ubuntu 20.04+) را دارند.
دستورالعملهای ساخت (Build) در GitHub در دسترس هستند. همچنین کد منبع Flow 2.2 نیز در همین ریپازیتوری منتشر شده است.