why does the NVIDIA PhysX SDK use opengl on there samples?

Started by
10 comments, last by swiftcoder 13 years, 6 months ago
Why does Nvidia choose opengl more than directx?
:)
Advertisement
Probably because at least in the early days of hardware 3D it was easier to prototype with/do simple graphics.

Also perhaps because of the background of the developers, NovodeX(thats where the Nx prefix is from) and many of the developers had ties to ETH Zurich and OpenGL has always been popular in academic circles.

David
do you have to use the meshs that come with the sdk ,or can you use meshs made with 3dsmax and have them have phyics?, i just see in the samples boxes and cones and stuff...
:)
Quote:Original post by Anddos
do you have to use the meshs that come with the sdk ,or can you use meshs made with 3dsmax and have them have phyics?, i just see in the samples boxes and cones and stuff...


I am afraid you are only allowed to use the shapes which can be drawn by the samples... :-)

David
how can it be good for game engines then?, i cant make pysics on the models of my choice, i see this used alot in retail games , so there must be away
:)
Haven't played with PhysX in forever, but both Bullet and Havok give you both primitive and mesh collision shapes to use.

Mesh shapes however, are VERY slow by comparison. Most games just use the simple shapes like sphere, box, and capsule for most cases. Things like terrain would be one of the few mesh shapes. An FPS may use a low-detail skinned mesh for collision. But in other games, you often don't need mesh level accuracy to determine a hit on something. You just build up a person shape out of a few capsules and spheres if i you need per-body-part collision, or just put a box around the object if you only care about "did hit".

I'd also mention that Bullet, Havok, and PhysX all support multiple platforms from Linux, PS3, Wii, X360, Windows and Mac. DirectX only works natively on Windows and X360. Variants of OpenGL natively run on all those platforms, meaning you can likely get the demos running on those platforms with less effort/code changes.
Quote:Original post by Anddos
how can it be good for game engines then?, i cant make pysics on the models of my choice, i see this used alot in retail games , so there must be away


The samples can load (more or less) arbitary meshes and convex objects and heightfields... (maybe you didnt look at the samples properly?)

As for performance, in some cases, a static triangle mesh can be faster than many individual primitives.

David
Quote:Original post by Anddos
Why does Nvidia choose opengl more than directx?


Because quite often DirectX doesn't support the hardware features early enough, with OpenGL nvidia can add their own vendor specific extensions while the hardware is still under development and if they invent something new they can play around with it immediatly without waiting for anyone.

With DX they'd have to wait for Microsoft to add support, most of the time Microsoft is fast enough to get things done before the hardware hits the market, but there have been a few occasions where Microsoft was rather slow.

nvidias "DX10" hardware for example was released a few months before Vista and DX10 so their only option to get those demos running was to use OpenGL with their own extensions.

Those extensions never really worked on the equivalent AMD/ATI hardware though despite the hardware being capable of supporting them (AMD/ATI had their hardware out much later and didn't add any of those OpenGL extensions to their Windows drivers since it was pretty pointless, D3D was allready out by then) This basically meant that OpenGL support was extremely fragmented (all vendors supported OpenGL2.0 or 2.1 but it was ancient and the extensions used to bring things up to date varied between manufacturers) while all vendors supported D3D in exactly the same way, for Windows game developers the choice of API became quite easy.

So basically, OpenGLs extension system is what makes it attractive to hardware manufacturers and also what frustrates the hell out of game developers. (With OpenGL4 we can finally ignore the extensions, atleast until the khronos group falls asleep again)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!
Quote:Original post by SimonForsman
Quote:Original post by Anddos
Why does Nvidia choose opengl more than directx?


Because quite often DirectX doesn't support the hardware features early enough, with OpenGL nvidia can add their own vendor specific extensions while the hardware is still under development and if they invent something new they can play around with it immediatly without waiting for anyone.

With DX they'd have to wait for Microsoft to add support, most of the time Microsoft is fast enough to get things done before the hardware hits the market, but there have been a few occasions where Microsoft was rather slow.

nvidias "DX10" hardware for example was released a few months before Vista and DX10 so their only option to get those demos running was to use OpenGL with their own extensions.

Those extensions never really worked on the equivalent AMD/ATI hardware though despite the hardware being capable of supporting them (AMD/ATI had their hardware out much later and didn't add any of those OpenGL extensions to their Windows drivers since it was pretty pointless, D3D was allready out by then) This basically meant that OpenGL support was extremely fragmented (all vendors supported OpenGL2.0 or 2.1 but it was ancient and the extensions used to bring things up to date varied between manufacturers) while all vendors supported D3D in exactly the same way, for Windows game developers the choice of API became quite easy.

So basically, OpenGLs extension system is what makes it attractive to hardware manufacturers and also what frustrates the hell out of game developers. (With OpenGL4 we can finally ignore the extensions, atleast until the khronos group falls asleep again)


But this has nothing to do with PhysX...
Quote:Original post by Anddos
Why does Nvidia choose opengl more than directx?


Why not? :)

This topic is closed to new replies.

Advertisement