PhysX es un SDK de middleware de motor de física en tiempo real de código abierto [1] desarrollado por Nvidia como parte del paquete de software Nvidia GameWorks .
Inicialmente, los videojuegos compatibles con PhysX estaban destinados a ser acelerados por PhysX PPU ( tarjetas de expansión diseñadas por Ageia ). Sin embargo, después de la adquisición de Ageia por parte de Nvidia, las tarjetas PhysX dedicadas se descontinuaron a favor de que la API se ejecute en GPU GeForce habilitadas para CUDA . En ambos casos, la aceleración de hardware permitió la descarga de cálculos físicos de la CPU , lo que le permitió realizar otras tareas en su lugar.
PhysX y otros motores de física de middleware se utilizan en la gran mayoría de los videojuegos actuales porque liberan a los desarrolladores de juegos de tener que escribir su propio código que implementa la mecánica clásica (física newtoniana) para hacer, por ejemplo, dinámicas de cuerpo suave . [2]
Lo que hoy se conoce como PhysX se originó como un motor de simulación de física llamado NovodeX. El motor fue desarrollado por la empresa suiza NovodeX AG, un spin-off de ETH Zurich . [3] En 2004, Ageia adquirió NovodeX AG y comenzó a desarrollar una tecnología de hardware que podía acelerar los cálculos físicos, ayudando a la CPU. Ageia llamó a la tecnología PhysX, el SDK se renombró de NovodeX a PhysX, y las tarjetas aceleradoras se denominaron PPU (Physics Processing Units). [4]
En 2008, Ageia fue adquirida por el fabricante de tecnología gráfica Nvidia. [5] Nvidia comenzó a habilitar la aceleración de hardware PhysX en su línea de tarjetas gráficas GeForce [6] y, finalmente, eliminó la compatibilidad con las PPU de Ageia. [7]
PhysX SDK 3.0 se lanzó en mayo de 2011 y representó una reescritura significativa del SDK, que trajo mejoras como subprocesos múltiples más eficientes y una base de código unificado para todas las plataformas compatibles. [2]