NVidia Considering Porting PhysX To OpenCL
arcticstoat writes "NVidia has revealed that it's considering porting its PhysX API to OpenCL to allow PhysX GPU-acceleration on competitors' graphics cards as well. At the moment, a GPU needs to support NVidia's CUDA technology in order to accelerate PhysX on the GPU, and ATI has so far declined NVidia's offer to get CUDA working on ATI GPUs. NVidia's director of product management for PhysX, Nadeem Mohammad, said, 'In the future it's a possibility that we could use OpenCL' for PhysX, adding, 'If we start using OpenCL, then there's a chance that the features would work on ATI, but I have no idea what the performance would be like.'"
OpenCL is low leve enough that it's certainly possible to write code that works on other hardware in theory while being far too slow to do anything useful in practice.
Knowing NV, I wouldn't be surprised to see this happening
http://en.wikipedia.org/wiki/OpenCL
Yeah, we can experience the good ol' days of OpenGL vs D3D vs Rendition vs Glide all over again. Colour me excited. Or not.
While competition may sound nice, for game developers (of which I am one) and gamers alike, in the end the goal is to be able to make or play a game without having to consider a zillion different rendering/physics/sound APIs, including the many limitations only supporting one of them may bring with it. We should be grateful that we are now left with 2 rendering APIs (OGL and D3D) which all cards (more or less) support. Let's hope that the same thing happens for physics really soon. It seems that nVidia is at least attempting to make this happen, which is encouraging.
Site & blog: http://www.mayaposch.com
Here you go!
(excuse me if there are some errors, I didn't use opengl or c++ in over four years)
Extreme Programming - Redundant Array of Inexpensive Developers
A standard (even if it's a de facto one) API for physics would mean more developers would consider it and gamers would be happy because it'd work with all cards.
I guess Nvidia would gain money through licensing and AMD/ATI...I don't know, do they stand to lose anything because of this?
Besides that, physx is available for the PS3 and (I believe) the Wii so it would be a (more or less) universal API for physics acceleration.
OGL, D3D etc. are API's just like CUDA and OpenCL. Physics engines as you know are software kits available to game developers to implement in their titles. You should be happy that already the industry is not about to get into the API fight you mentioned. Instead they are readying their software to not only work on their hardware but competitors hardware as well using a common API. Lets all be grateful Nvidia isn't trying to shove CUDA down everyone's throat. With PhysX implemented in OpenCL everyone wins. Nvidia gets to sell more licenses due to their engine working on a wider variety of hardware and gamers don't have to be limited in their hardware selection.
Nvidia moving toward OpenCL is a very good thing. Much better than moving to DirectX 11 GPGPU which limits their software to MS platforms.
Really, the OpenGl working group does everything they can to get people to use DirectX. If they would be more nimble in adding new features to the spec things would be a different place. Instead, they move along at a glacial pace and the standard method of spec evolution goes something like this:
* Microsoft announces DirectX n with new features XYZ
* nVidia and ATi release cards that support DirectX n
* A few years later game developers release games that support DirectX n. Some game developers, like iD, work with ATi and nVidia to get OpenGL extensions running on hardware from both IHVs that support the features of DirectX n
* A few years later the OpenGL working group ratifies OpenGL version++ that unifies support for the features of all of the various OpenGL extensions that have been written since the current OpenGL spec was ratified.
While Microsoft's method might be more autocratic than the OGL working group's method it does tend to get new features in the hands of ISVs and consumers more quickly. Plus, it's not like Microsoft dictates everything that goes in to a given DirectX release. They work with numerous ISVs and IHVs to find out what features are being requested.