Graphic Cards nVIDIA PhysX vs DX11 physics

asingh said:
Thanks for that list. Informative. Why did Havok not become mainstream. Yea, I remember TimeShift now. I loved that game. I used to say to my self "this game has excellent affects", now is makes sense.

Yeah me likes Timeshift too. It is actually quite a cheesy game but I still liked it. It was good break from other games I was playing that time. But I fondly remember it. :)

@atiamd - Thanks for the link, rep points for increasing my knowledge :)
 
rajan1311 said:
I think he means that Microsoft will share it easily and hence it would be more popular than Phyx...

So, what part of DX11 is shared by MS? The standard, the source code?

DX11 not available on any of the consoles like the Xbox 360, Wii, PS3 or for Linux, Windows XP. Its available only on Windows 7, Vista. This means that games that are made for multiple platforms (Windows and PS3 say) need to have independent code paths to implement physics for each platform.

As a game developer, would you prefer to write different code for every platform that you are targeting?
 
asingh said:
Thanks for that list. Informative. Why did Havok not become mainstream. Yea, I remember TimeShift now. I loved that game. I used to say to my self "this game has excellent affects", now is makes sense.

If you take a look at the list carefully, you will notice that the games utilizing havok are the ones that got released before PhysX came into being.

Freaking nvidia bought ageia and forced us to use cuda. Coz many developers are already partners with nvidia, they left havok and jumped onto nvidia bandwagon. I remember this reading somewhere 3 years ago. I will have to google for it again. Its big cporporates like nvidia, that ruin it for the consumers. If you remember timeshift, it had amazing physics. Even walls had layers when shot at (at scripted places, not everywhere). The game's story was not good and not even coherent for that matter. But due to the physics, I played it and completed. It had a lengthy campaign too.

When FEAR was released, it was a true benchmark for havok physics and demonstrated what it can do. Physics is not only about particle effects, it also plays a major role in AI and path finding algorithms. Thats why in FEAR the enemy AI was so ****in good. Crank up the physics in COH and see the effect. The only drawback of havok at that time was that it could not be executed on GPU. But now it can. But bow there are very less takers for it because of one company, NVIDIA. Ans also, since intel had bought it, they havent been publicising it a lot........

/RANT..:mad:
 
Raghunandan said:
So, what part of DX11 is shared by MS? The standard, the source code?

DX11 not available on any of the consoles like the Xbox 360, Wii, PS3 or for Linux, Windows XP. Its available only on Windows 7, Vista. This means that games that are made for multiple platforms (Windows and PS3 say) need to have independent code paths to implement physics for each platform.

As a game developer, would you prefer to write different code for every platform that you are targeting?

The standard and/or source code is never shared for a technology which is made 'accessible' to developers for a fee. They give access to Application Programing Interface (API) for the technology. This API only exposes certain elements of the code. It receives a parameter(s), does a job, action, and can return a value. So this way developers can USE the API but not actually modify it and change it. This keeps it proprietary to the originating company. Google API works on a similar logic.

The following APIs (Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound) are all clubbed under the umbrella of DirectX. Same reason M$ named their game console XBox. To state that it will utilize DirectX Technology. The availability of this to hardware depends on the device driver. Before version 10, the Dx was backwards compatible, but due to an advanced API, this is not now possible. So hardware not matched for Dx11 will run in compatability mode during runtime. It will run, but with less features of course. Like I can play 9.0c games as of now on my Dx10.1 cards, with Dx11 installed on my system. I doubt due to this multiple different source codes will have to be written. Even then they can easily 'condition' the code such, that upon launch the program can recognize the hardware/Dx version, and execute the program as per the set path. No big deal for developers...!

atiamd said:
If you take a look at the list carefully, you will notice that the games utilizing havok are the ones that got released before PhysX came into being.

Freaking nvidia bought ageia and forced us to use cuda. Coz many developers are already partners with nvidia, they left havok and jumped onto nvidia bandwagon. I remember this reading somewhere 3 years ago. I will have to google for it again. Its big cporporates like nvidia, that ruin it for the consumers. If you remember timeshift, it had amazing physics. Even walls had layers when shot at (at scripted places, not everywhere). The game's story was not good and not even coherent for that matter. But due to the physics, I played it and completed. It had a lengthy campaign too.

When FEAR was released, it was a true benchmark for havok physics and demonstrated what it can do. Physics is not only about particle effects, it also plays a major role in AI and path finding algorithms. Thats why in FEAR the enemy AI was so ****in good. Crank up the physics in COH and see the effect. The only drawback of havok at that time was that it could not be executed on GPU. But now it can. But bow there are very less takers for it because of one company, NVIDIA. Ans also, since intel had bought it, they havent been publicising it a lot........

/RANT..:mad:
What is COH...and when is the next Havok game coming out....???

Seriously what you just wrote, makes absolute sense. nVidia really tried to quench a competitive technology, and with their "the way its meant to be played", slowly killed it. Damn...! Yea, they really spoilt it for consumers. I was really blown apart with F.E.A.R. The affects were awesome, and the 2nd part was nice too. I clearly remember playing TimeShift, and kept thinking to my self, why the heck is this game so different, then the rest of the ones I play...now I realize. I remember at times, there used to be so much dust, I had to wait for it to settle down, and then move on. Specially the run-down post apocolyptic street scenes. Now I am really starting to getting pissed with nVidia, and them doing such tactics. Hope Havok sees the clear light of day, and has nVidia running, till now they should concentrate on getting a line product line out, before ATI release the 6xxx series.
 
Havok was bought over by Intel in 2007, and will amalgamate into Larrabee project. DX 11 is not an open source API by any definition, Open GL is on the other hand. Due to the $ power of M$, open GL is more or less given a backseat.

In the end, both Nvidia and AMD are creating massive parallel processors so they would want to utilize it more then just graphics rendering, physics rendering is one of the utilizations.
 
asingh said:
The standard and/or source code is never shared for a technology which is made 'accessible' to developers for a fee.
blah
blah
blah
This keeps it proprietary to the originating company. Google API works on a similar logic.

You explained what is an proprietary API without answering my question or validating your argument.

asingh said:
Like I can play 9.0c games as of now on my Dx10.1 cards, with Dx11 installed on my system. I doubt due to this multiple different source codes will have to be written. Even then they can easily 'condition' the code such, that upon launch the program can recognize the hardware/Dx version, and execute the program as per the set path. No big deal for developers...!

Are you implying DX11 physics will be available when you are using a DX10 card, just because you have DX11 installed? Or that DX11 physics will be available on Xbox 360?

Lemme explain my earlier question with an example

If a cross-platform game developer wants some physics engine for his game and uses DX11 physics, how will it work on the PS3 version of the same game unless MS releases DX11 for PS3? So, the developer does need to write 2 code paths - one each for the PC version (using DX11) and PS3 version (using some other physics engine). And if he wants to release the game on Xbox, add one more codepath.

Or maybe by conditioning - you meant codepath. "Conditioning" code according to DX version and hardware is what is called a different codepath.

Writing huge paragraphs explaining stuff without actually answering the question might work in your university exams, but not on this forum. Avoid posting BS next time.

asingh said:
^^
Its licensed right, to the developers -- or is there some other model..?

The DX11 SDK is available free of charge to developers to download and use. There is no license fee for the SDK. The source code is not available even if you are willing to pay. DX11 is available only on Windows. NVIDIA PhysX SDK is also distributed for free. The source code is available for a fee. Its available for Windows, Linux, PS3, Xbox 360 and Wii.
 
Sure, I do not mind to reiterate.

You had asked:

So, what part of DX11 is shared by MS? The standard, the source code?

I replied to this, with my first paragraph, which explained how an API is made accessible to the user, and by the 'owner'. Does this not clearly state what parts M$ is sharing with the developers, and how it makes it accessible. AND if the source code of Dx is ever shared or not. I think this pretty clearly answered your question right..?..and the reason it does not need to be validated, cause this information is readily available on the net. Do all users, here post a cross reference link to what they post...? I did not state that the moon is going to fall to earth, that I need to post a cross reference link. I was not making an arguement, stated a fact. If you cannot see the difference between an arguement and a fact....to bad. I also explained the way an API works, so people can more readily understand how a technology can be 'used' but not seen.

Then I clearly mentioned, what will happen when Dx11 is executed on Dx10 or lesser cards. It will run, but with less features. I had written the line "So hardware not matched for Dx11 will run in compatability mode during runtime". Apologize if the english and literal meaning here was not crystal clear to you. I also mentioned that prior to Dx10 it was backward compatible, but now it will run differently.

I did not imply Dx11 physics will be available on a Dx10 card if Dx11 is installed, how did you infer that..?

The developers, always right separate code for consoles and then the PC. You cannot just pick a common code, and port it 100%. I am sure you knew that. Sorry if I missed the jist of the question, then. I though you meant, if a code is written for Dx11, will it have to be written separate for Dx10, NO.

By the way, "university exams". Grow up man. How did you reach 1K+ posts here, with this type of arrogant attitude. Do you know a THING about me...or what I do, am. And writing this type of stuff. I doubt this was BS...it explained how Dx API is given to developers, compatibility methods, features available.

I finished university and then a professional masters around 9 years ago. Am grown up and mature, so will not make comments like you.

Raghunandan said:
The DX11 SDK is available free of charge to developers to download and use. There is no license fee for the SDK. The source code is not available even if you are willing to pay. DX11 is available only on Windows. NVIDIA PhysX SDK is also distributed for free. The source code is available for a fee. Its available for Windows, Linux, PS3, Xbox 360 and Wii.

Thanks. Though where did I deviate from this. Ok, if you wanted to understand the business model and I explained the technical aspects. Sorry. Next time I will specially ask you, what you mean, if I have a doubt.
 
@Asingh: You're are confusing API access to Open Source / Code Sharing models... I believe what Raghu asked is "what part of SOURCE CODE was shared by MS in DX11?". Giving access to the API is not the same as sharing the source code or making the part of DX11 open source for developers to enhance further.

DX API has always been available to developers, otherwise they can't do any development on DX platform. But the source code of DX platform is closed and proprietary property of MS. If that wasn't the case, we would have had the DX platform for other OSes such as OSX and Linux. OpenGL on the other hand is fully open-source, hence can be found on all platforms to use. Unfortunately, thanks the $$ power of MS and lack of significant advancements in newer OpenGL versions made DX a dominant platform for game developers. :no:

Also, your statement is partially when you say that "Code written for DX11 with run on DX10 with less features". While it's true that this will happen to some extent, for certain features developers will have to write a fallback code... one such feature come to my mind would be DirectCompute and probably even Tessellation. More expert users can correct me if I'm wrong here. :ashamed:

I'm not saying that you are completely wrong, it's just that you might be mixing few things wrong and that's where the confusion might be coming from. :)
 
^^

I straight away in my first line of the post had mentioned that "The standard and/or source code is never shared for a technology which is made 'accessible' to developers for a fee" So where is the confusion..?

Yes, even I understand the code is not open for changes by developers, have I not been singing that in all the above posts..? :)

I feel I did NOT mix a thing here. I am clear in my thoughts regarding this post. If Dx11 games will not run on Dx10 (though partially), how else will older generation cards support Dx11. Of course they will run on Dx10 cards, with limited features. That is what I meant by code conditioning. The game can read what hardware is available to the system, check Dx version, an subsequently execute. Easy to do. (On the scale games are developed with budgets and time)

I was asked:

So, what part of DX11 is shared by MS? The standard, the source code?

I answerd:

It is not shared. It can be used by API method. OK, should have just written. NO it is not shared. :) To make it easier for Raghu. He got confused I guess.

I was asked:

DX11 not available on any of the consoles like the Xbox 360, Wii, PS3 or for Linux, Windows XP. Its available only on Windows 7, Vista. This means that games that are made for multiple platforms (Windows and PS3 say) need to have independent code paths to implement physics for each platform.

I answered:

I gave my rant about backward compatibility and limited feature run

I was asked:

As a game developer, would you prefer to write different code for every platform that you are targeting?

I answered:

Again the above, mentioning the device drivers, and all that jazz.

Now where is the confusion..? I think my answers were clear. And pretty straight forward. :) Was it really BS..? that Raghu lambasted me..?
 
Well, we are yet to see how powerful the physics functions are on the Dx11 API. But if it can deliver the goodies, then nothing like it. Just having one powerful board to perform both functions -- 3d render and Phsysics render would be manna from heaven. nVidia is really playing bad tactics this is what I feel. I am not hitting here at their cards. Those are good, no doubt about that. But their business practices are really bad. They have SLI (and ATI has XfireX), which at times make sense. Resolutions > = to FULL HD, utilize this architecture pretty well. But what the heck is Aegia Physx. Why do users have to install a 2nd to fully utilize this. When Physics initially started to come out in games, cards could render it nice. Then nVidia comes out with this logic to implement in on a secondary GPU -- and too theirs only. Else their software will disable it. How lame and pathetic. Using this path, they are forcing users to buy more nVidia hardware --- thus increase sales.

+1, only part of nvidia' i hate that stupid buss strategy,(-nvidia fan-:D)

but i have one doubt related to the topic Physx can be used on mac os wer the windows DX11 cannot, so thers a advantage to Physx' is it? only doubt bcoz i hav no idea abt mac's api/xxxxx"""???:D
 
asingh said:
More blah blah blah

The developers, always right separate code for consoles and then the PC. You cannot just pick a common code, and port it 100%. I am sure you knew that. Sorry if I missed the jist of the question, then. I though you meant, if a code is written for Dx11, will it have to be written separate for Dx10, NO.

Developers neednt write separate code for various platforms if the same libraries are available on both platforms. For instance, if a developer codes in OpenGL, he neednt have code separately for Windows and Linux because OpenGL is available for both platforms (Thanks iGo).

Similarly a developer using NVIDIA PhysX will be able to port between Windows PC and PS3 because the libraries are available for both platforms. You *can* write common code and port it 100% as long as you are using libraries/API that are available in both platforms.

asingh said:
By the way, "university exams". Grow up man. How did you reach 1K+ posts here, with this type of arrogant attitude. Do you
...
I finished university and then a professional masters around 9 years ago. Am grown up and mature, so will not make comments like you.

Good for you! I couldnt care less about what you studied or what you are doing now.

Half your previous post about DirectX was a blatant copy-paste from Wikipedia. Unfortunately you copied the stuff about DirectSound and how the Xbox name was decided too, which is irrelevant to this thread. You could have just linked to the Wikipedia article about DirectX instead of spouting irrelevant BS here.

Stick to the topic of this thread. I would be very happy if you could write a separate article explaining APIs and how they work, but not in this thread.

asingh said:
Thanks. Though where did I deviate from this. Ok, if you wanted to understand the business model and I explained the technical aspects. Sorry. Next time I will specially ask you, what you mean, if I have a doubt.

I simply answered your question. Nothing more. Glad that you agree with me :)

iGo said:
@Asingh: You're are confusing API access to Open Source / Code Sharing models... I believe what Raghu asked is "what part of SOURCE CODE was shared by MS in DX11?". Giving access to
...
mixing few things wrong and that's where the confusion might be coming from.

You are correct. Thanks for taking the effort to explain my previous post too :)

asingh said:
I straight away in my first line of the post had mentioned that "The standard and/or source code is never shared for a technology which is made 'accessible' to developers for a fee" So where is the confusion..? Yes, even I understand the code is not open for changes by developers, have I not been singing that in all the above posts..?

Firstly, there is no fee charged for the SDK - for DX11 or NVIDIA PhysX. No issues if you thought so though.

Secondly, NVIDIA PhysX source code IS available for developers to make modifications and changes as per their requirement. This requires a developer to pay a fee of $50,000. Now which do you feel is better - DX11 or NVIDIA PhysX?

asingh said:
That is what I meant by code conditioning. The game can read what hardware is available to the system, check Dx version, an subsequently execute.

Isnt this what a separate code path is? What is the difference between conditioning and code path?

asingh said:
It is not shared. It can be used by API method. OK, should have just written. NO it is not shared. :) To make it easier for Raghu. He got confused I guess.

This would have been perfectly adequate for me and relevant to this thread :)

asingh said:
I gave my rant about backward compatibility and limited feature run
You talked abt backward compatibility between Windows DX versions. My question was specifically about different platforms, PS3 and Windows. There is no DX9, 10, 11 on PS3. You totally missed the point and gave an irrelevant answer yet again.

asingh said:
Again the above, mentioning the device drivers, and all that jazz.

I had a simple question about how a developer would feel writing different code paths for platforms, you still havent answered the question.

Icon_211 said:
Well, we are yet to see how powerful the physics functions are on the Dx11 API. But if it can deliver the goodies, then nothing like it. Just having one powerful board to perform both functions -- 3d render and Phsysics render would be manna from heaven. nVidia is really playing bad tactics this is what I feel. But their business practices are really bad. But what the heck is Aegia Physx. Why do users have to install a 2nd to fully utilize this. When Physics initially started to come out in games, cards could render it nice. Then nVidia comes out with this logic to implement in on a secondary GPU -- and too theirs only. Else their software will disable it. How lame and pathetic. Using this path, they are forcing users to buy more nVidia hardware --- thus increase sales.

With so many cross-platform games today, do you expect game makers to use different physics engines for consoles and PCs? Or use NVIDIA PhysX which is available for almost all platforms?

NVIDIA took the effort, money and time to write PhysX on CUDA, which works only on NVIDIA cards. Since PhysX is an open standard, ATI is welcome to implement PhysX on their cards using Stream, in which case it will work only on ATI cards.

NVIDIA will only make the effort to ensure it works on their own GPU, not on competitors'.

Icon_211 said:
but i have one doubt related to the topic Physx can be used on mac os wer the windows DX11 cannot, so thers a advantage to Physx' is it? only doubt bcoz i hav no idea abt mac's api/xxxxx"""???:D

EDIT: I dont think NVIDIA PhysX is available on Mac yet.
 
Okay guys, stopp fighting.

What asingh is saying is absolutely correct.
Put in layman terms, every DX iteration needs specific set H/W and S/W that NEEDS to be more advanced than the previous one. That means, DX 8 hardware will be obsolete to run dx 9 games. But, as asingh said, DX 9 games will still run on DX 8, albeit MINUS the dx9 EXCLUSIVE features. Similarly for each incremental dx. There is no such thing as "we will need new code path for every dx". Its just not true as every new iteration of DX is a superset of the one preceding it.

Also, raghunandan, I think you are asking that MS needs to release DX11 for PS# and xbox 360. If you are, then the answer is that the hardware is not DX11 compatible. So, MS cant release DX11 for the platforms. If you mean something else, then my apologies for not getting it correct.

@asingh: COH = company of heroes. Its based on havok. And as to when new games will release on havok, I cant say dude. Maybe not till PhysX get shelved, or if "aces" is correct, and larrabee has just got shelved itself, then I seriously dont know when it might happen that we see havok in full glory..

But after seeing havok in works, I would certainly say that the world does not need a proprietery API for physics calculations on the GPU. Havok creats some amazing effects, and so can any other api thats available for free to run on both nvidia and ati hardware. The only thing is that these big companies should start thinking of the consumers, otherwise, I am afraid havok will meet the same fate as did the openGL. But that would be like dreamin of utopian world. Lets see what future holds.
 
atiamd said:
Also, raghunandan, I think you are asking that MS needs to release DX11 for PS# and xbox 360. If you are, then the answer is that the hardware is not DX11 compatible. So, MS cant release DX11 for the platforms.

Nope, thats not what I meant. DX11 physics might not be an adequate replacement for NVIDIA PhysX since it does not run on multiple platforms. DX11 physics is probably more restrictive than NVIDIA PhysX, due to its limited availability (Windows only) and no source code even if you were willing to pay money. The limited availability is a deal breaker for a lot of game makers, since they target consoles too.
 
Raghunandan said:
Developers neednt write separate code for various platforms if the same libraries are available on both platforms. For instance, if a developer codes in OpenGL, he neednt have code separately for Windows and Linux because OpenGL is available for both platforms (Thanks iGo).

Similarly a developer using NVIDIA PhysX will be able to port between Windows PC and PS3 because the libraries are available for both platforms. You *can* write common code and port it 100% as long as you are using libraries/API that are available in both platforms.

Nopes, just because a common API/library is available to both platforms, still a 100% port cannot be done. A lot more changes have to be done to code so it runs fine on multi-platform.

Raghunandan said:
Good for you! I couldnt care less about what you studied or what you are doing now.

Yes sure. Even I do not care if you do not carry. It makes jack-difference to me. But since you thought me to be someone writing exams at university -- I clarified.

Raghunandan said:
Half your previous post about DirectX was a blatant copy-paste from Wikipedia. Unfortunately you copied the stuff about DirectSound and how the Xbox name was decided too, which is irrelevant to this thread. You could have just linked to the Wikipedia article about DirectX instead of spouting irrelevant BS here.

So today all the knowledge you possess, you were born with it. You never look up a secondary source of information, and then represent it here, in a dignified format. Heck..you must be really a source of information I must say. Of course I got it from Wikepedia, if we all could do that, then why do places like this exist. Right..? I still do not think it was BS. And so what if I mentioned a bit extra about the naming convention, and showed all the Directx families.

The Wikepedia article states this:

Microsoft DirectX is a collection of application programming interfaces (APIs) for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. Originally, the names of these APIs all began with Direct, such as Direct3D, DirectDraw, DirectMusic, DirectPlay, DirectSound, and so forth. The name DirectX was coined as shorthand term for all of these APIs (the X standing in for the particular API names) and soon became the name of the collection. When Microsoft later set out to develop a gaming console, the X was used as the basis of the name Xbox to indicate that the console was based on DirectX technology.[1] The X initial has been carried forward in the naming of APIs designed for the Xbox such as XInput and the Cross-platform Audio Creation Tool (XACT), while the DirectX pattern has been continued for Windows APIs such as Direct2D and DirectWrite.

Direct3D (the 3D graphics API within DirectX) is widely used in the development of video games for Microsoft Windows, Microsoft Xbox, and Microsoft Xbox 360. Direct3D is also used by other software applications for visualization and graphics tasks such as CAD/CAM engineering. As Direct3D is the most widely publicized component of DirectX, it is common to see the names "DirectX" and "Direct3D" used interchangeably.



Where does my post look like a 'blatant copy'. I never said, I got this of the top of my head.

Raghunandan said:
Stick to the topic of this thread. I would be very happy if you could write a separate article explaining APIs and how they work, but not in this thread.

I think I very much stuck to the topic of this thread. Just because I gave some extra information regarding API's I did no crime. Or are we charged we character here..?

Raghunandan said:
I simply answered your question. Nothing more. Glad that you agree with me :)

Yups...thanks...!

Raghunandan said:
You are correct. Thanks for taking the effort to explain my previous post too :)

Yes, we finally have a consensus here.

Raghunandan said:
Firstly, there is no fee charged for the SDK - for DX11 or NVIDIA PhysX. No issues if you thought so though.

Secondly, NVIDIA PhysX source code IS available for developers to make modifications and changes as per their requirement. This requires a developer to pay a fee of $50,000. Now which do you feel is better - DX11 or NVIDIA PhysX?

I still feel Dx11 is the way to go. I do not agree with nVidia and they way they are quenching the rest of the world with Aegia PhysX.

Raghunandan said:
Isnt this what a separate code path is? What is the difference between conditioning and code path?

By conditioning I meant, the code can have the logic, to skip out certain features when it detects non compatibility with Dx. Change in code path with respect to Dx would be dx9,10,11.

Raghunandan said:
This would have been perfectly adequate for me and relevant to this thread :)

To bad for you. Then. If you just want answers in YES's/and NO's, it does not work like that. You might like to give answers like this, I do not. I usually like to give a bit of explanation, to what I am answering. It helps the OP understand. You might be a post-lord, but I think different.

Raghunandan said:
You talked abt backward compatibility between Windows DX versions. My question was specifically about different platforms, PS3 and Windows. There is no DX9, 10, 11 on PS3. You totally missed the point and gave an irrelevant answer yet again.

I had a simple question about how a developer would feel writing different code paths for platforms, you still havent answered the question.

Ok, even if I had, you could have put it across simpler. I still feel, I gave enough to this thread, then the term you gave BS. You seem to be the one spreading it thick here, saying it over and over again. I am sure other readers found the posts I put informative and relevant. The world is not always crisp and clear...we try to..but falter. If you really felt in your first reply to me, that I missed the target, and was really of track, you could say it decently. Stating things like BS, and 'in this forum', really sound weird and funny. Do all the 'posters' in this forum, answer the OP questions bang on..and exact.

Raghunandan said:
With so many cross-platform games today, do you expect game makers to use different physics engines for consoles and PCs? Or use NVIDIA PhysX which is available for almost all platforms?

NVIDIA took the effort, money and time to write PhysX on CUDA, which works only on NVIDIA cards. Since PhysX is an open standard, ATI is welcome to implement PhysX on their cards using Stream, in which case it will work only on ATI cards.

NVIDIA will only make the effort to ensure it works on their own GPU, not on competitors'.

NVIDIA PhysX can also be used on a lot of other platforms and consoles, as I mentioned earlier. Its available on more platforms than DX11.

Well my point of view is different here, and do not agree with nVidia and the way it is forcing PhysX and monopolizing the market for this technology.
 
asingh said:
Nopes, just because a common API/library is available to both platforms, still a 100% port cannot be done. A lot more changes have to be done to code so it runs fine on multi-platform.
Please state reasons to back this up. The whole idea of having a common library is to have extremely easy portability.

asingh said:
Of course I got it from Wikepedia, if we all could do that, then why do places like this exist. Right..? I still do not think it was BS. And so what if I mentioned a bit extra about the naming convention, and showed all the Directx families.
If most of your post is going to be from Wikipedia it might be easier to link to the article instead of writing it here. And information abt how Xbox was named is relevant to a physics engine comparison thread? Really?

asingh said:
I still feel Dx11 is the way to go. I do not agree with nVidia and they way they are quenching the rest of the world with Aegia PhysX.
Well my point of view is different here, and do not agree with nVidia and the way it is forcing PhysX and monopolizing the market for this technology.

How exactly are they forcing the world to use PhysX? I dont see how its possible to force something on game developers. Maybe there isnt/wasnt any good alternative. Are there any other GPU/hardware accelerated physics engines available now? PhysX has been available for quite a while. CPU based engines are no where close in terms of realism, detail and efficiency.

Somehow you are seem comfortable with Microsoft forcing everyone to use DX11 though. What are the reasons you prefer DX11 physics over PhysX?

Heres a short table comparing DX11 physics and NVIDIA PhysX. Please feel free to add to it or let me know if somethings wrong.

Feature | DX11 Physics | NVIDIA PhysX
Standard | Proprietary | Open
Platforms Supported | Window Vista, 7 | Windows XP, Vista, 7, Linux, Microsoft Xbox 360, Sony PS3, Nintendo Wii
SDK Availability | Free | Free
Source Code Availability | No | Yes

You still feel that DX11 physics is a good choice for game developers?

Your only gripe is probably that ATI doesnt support PhysX. But dont blame NVIDIA for it. It is an open standard after all and ATI is welcome to write its own softwar to support it on their cards or develop hardware for it.

asingh said:
By conditioning I meant, the code can have the logic, to skip out certain features when it detects non compatibility with Dx. Change in code path with respect to Dx would be dx9,10,11.
I believe executing/skipping portions of code based on presence/absence of a feature is called having different codepaths. Its ok if you want to call it conditioning though.
 
Actually... Raghu is right, I have long though about CUDA and Physx and their close ties to nVidia specific hardware, but the fact remains that of all things nVidia did wrong, they did one right thing and that was of making CUDA/Physx open source. Anyone can use them on multitude of platforms and that IS NOT restrictive as many here are thinking.

ATi can implement Physx anytime they want, but they are probably not doing it for the sake of pride or whatever reasons they have. The fact is, thanks to the massive number of stream processor they put in their last two generations chips, it very well can handle physics processing on single card. But unfortunately, in reality they are not doing it. There was a case of someone running Physx on 3870, but never released the promised drivers. Nobody knows what happened, if there was legal stuff involved, or some other deal in background happened. The fact is it happened and it ran very well, mind you that this was 2 gen older card. imagine doing this on current generation cards.

Also, if you look at the current trend, developers create the game for console first and then port it to PC. I agree that 100% port is not possible with very minimal efforts, but as long as game is using similar libraries, the porting actually saves a lot of time and budget for gaming studios. The engine remains almost the same, only the main binaries and little tweaks to libraries is involved.... anyone who thinks that is not the case is mistaken. Every gamer worth his salt will agree that console-ports are never as good as games developed for PCs. The bad ports are results of taking the easy way and cutting the development costs. Studios wouldn't have done that if the porting wasn't easy.

Anyway, back to the topic....

I still can't see DX physics to be any relevant, not just because of limited availability, but because we haven't seen or don't know what it can do. IMO, the only physics engine that was comparable to Physx was Havok and that dish is covered and cold for now. If only Havok was adopted to run on GPU, things could have been different. But that didn't happen.

There is also a lot of talk about Bullet Physics libraries, but we are yet to see mainstream implementation of it. ATi, so far have not kept their pace with GPGPU development and their Stream implementation in general apps leaves lot to be desired. The way I see it, the only savior in true vendor-agnostic physics engine will be the one with OpenCL implementation. But once again, nVidia has been ahead of ATi for OpenCL adoption and release in their drivers. ATi really need to get their act together in building rock-solid software support for amazing hardware that they are building.
 
^^ Couldnt have said it better!

Quick correction though - CUDA, NVIDIA PhysX arent open source. CUDA isnt open source and is proprietary to NVIDIA, just like Stream is to ATI. NVIDIA PhysX SDK/Binaries are free for commercial and non-commercial use. NVIDIA PhysX source code is paid - costs $50,000.

And regards to GPGPU - if you feel NVIDIA is ahead of ATI already, just wait until Fermi arrives :D
 
Hey, have you guys ever noticed that unreal 3 engine uses physX by default? That means half of today's games use physX. GODDAMN.............

right from Gears of War to Batman AA (except some like bioshock etc.)............... yikesss.....

And, asingh, you might wanna try red faction guerilla for havok, if you havent already....

And raghu man, you are so right about what all you have said regarding physX and DX11. I havent ever seen physX in works as I dont have an nvidia setup. Does it really look better than havok based games like timeshift and red faction guerilla and bioshock?
 
Back
Top