W zeszłym tygodniu firma NVIDIA ogłosiła na swoim blogu dostępność kodu źródłowego NVIDIA PhysX. dzięki czemu każdy może korzystać z wysokiej jakości silnika symulacji fizyki rzeczywistości.
Firma NVIDIA zdecydowała się udostępnić publicznie kod źródłowy silnika symulacji fizyki PhysX i umieścić go w kategorii bezpłatnych projektów.
Informacje o Nvidia PhysX
NVIDIA PhysX jest częścią wielu popularnych silników gier, w tym Unreal Engine, Unity3D, AnvilNext, Stingray, Dunia 2 i REDengine.
W oparciu o PhysX zbudowano ponad 500 gier, w tym „Batman: Arkham Asylum”, „Batman: Arkham City”, „Bioshock Infinite”, „Borderlands 2”, „Lords of the Fallen”, „Monster Hunter Online”, „Daylight” i „Witcher 3”.
W takich grach PhysX służy do wprowadzania efektów, takich jak zniszczenia, eksplozje, realistyczne ruchy postaci i samochodów, dym z fal, drzewa zginane przez wiatr, woda płynąca i opływająca przeszkody, trzepotanie i rozdzieranie odzieży, zderzenia i interakcje z ciałami twardymi i miękkimi.
Niektóre obszary, w których PhysX może być używany jako produkt otwarty:
- Synteza danych odzwierciedlających stan obiektywnej rzeczywistości, do badań z zakresu sztucznej inteligencji i do treningu sieci neuronowych.
- Tworzenie realistycznych środowisk do szkolenia robotów.
- Symulacja rzeczywistych warunków w procesie eksploatacji pojazdów autonomicznych i autopilotów.
- Przenieś realistyczne środowiska gier na nowy poziom.
- Zastosowanie wysokowydajnych systemów klastrowania w celu osiągnięcia wysokiego poziomu szczegółowości i precyzji w symulacji procesów fizycznych.
NVIDIA udostępnia publiczny PhysX
Powodem wydania kodu źródłowego PhysX jest pilna potrzeba wykorzystania symulacji procesów fizycznych w obszarach poza grami komputerowymizapotrzebowanie na projekty związane ze sztuczną inteligencją, robotyką, sztucznym widzeniem, bezzałogowymi pojazdami i wysokowydajnymi obliczeniami.
W obecnej formie PhysX SDK to wieloplatformowe rozwiązanie do wieloprocesowej symulacji procesów fizycznych w grach, skalowalny dla różnych komputerów, od smartfonów po wydajne stacje robocze z wielordzeniowymi procesorami i GPU.
Aktywne wykorzystanie procesorów graficznych w celu przyspieszenia operacji umożliwia wykorzystanie PhysX do przetwarzania efektów w bardzo dużych wirtualnych światach.
Ogłoszenie zostało ogłoszone przez starszego dyrektora ds. Inżynierii treści i technologii, Rev Lebaredian, która jest również odpowiedzialna za technologie Nvidia GameWorks. W poście jest napisane, co następuje:
„Robimy to, ponieważ fizyczna symulacja okazała się ważniejsza niż sobie wyobrażaliśmy.
Ma kluczowe znaczenie dla tak wielu różnych rzeczy, że zdecydowaliśmy się udostępnić go światu w formie open source.
Pierwsza wersja open source to PhysX SDK 3.4 , ale nowa wersja PhysX 20 ma zostać wydana 4.0 grudnia, która będzie oferować pierwszą funkcjonalną aktualizację dla darmowego projektu.
W nowej wersji zaimplementowany zostanie algorytm TGS (Temporal Gauss-Seidel Solver), który poprawi jakość symulacji postaci i obiektów, składającej się z wielu części przegubowych.
W PhysX 4.0 pojawi się również obsługa składania za pomocą Cmake, a skalowalność reguł filtrowania dla obiektów kinematycznych i statycznych zostanie zwiększona.
To bardzo dobra wiadomość dla programistów, którzy chcą przenieść swoje gry na Linuksa, ponieważ teraz będą mieli do dyspozycji jeszcze jedno potężne narzędzie.
I w ten sposób móc dostarczać coraz więcej wysokiej jakości produktów na Linuksie i stopniowo niwelować różnice, które wciąż istnieją w niektórych tytułach w stosunku do Windows.
I oczywiście otwierając możliwość dla Rev, w którym PhysX może być używany w pojeździe autonomicznym, AI i wysokowydajnych komputerach.
Gdzie znaleźć kod źródłowy?
Kod silnika i związanego z nim SDK jest otwarty na licencji BSD, a także na akceleracji GPU jest objęty tą licencją, więc kompilacja jest obecnie obsługiwana dla platform Windows, Linux, macOS, iOS i Android.
PhysX ma również integrację z silnikami Unreal 3 i 4 z Unity3D. Pełne ogłoszenie i więcej szczegółów można znaleźć bezpośrednio na blogu NVIDIA.
Kod źródłowy jest również dostępne na GitHub.