Physx question

I think I can absolve from a lot of the license requirements by simply just not shipping the i files.  This of course makes it harder for others (like yourself) that would want to see the interface files.



Anyway, to be honest, I feel I'm making pretty good progress on this.  I just implemented the TriMeshes, but they still need to be tested so who knows if they work.  :lol:



My suggestion about learning SWIG…start SMALL.  I started with the PhysX libraries and found out that ported a large library takes a bit of skill.  It took me a while to get it into a usable manner.  If you have any questions, just send me a note (I believe that my e-mail is in my profile) and I'll try to help out.



If anyone else is interested too, I'll post here when I put the library on the web.  I just need to find a windows box to do my next build on too…



Thanks!

Hi,



I sent an email to Nvidia asking about that licensing issue. Although my name is not Marcus, and although I have written no wrapper, this is the reply.


Marcus,

Your PhysX wrapper constitutes an application and is thus covered by the
terms of the EULA.

Best Regards,

Bob


Bob Whitecotton
PhysX Business
Development
NVIDIA Corporation


Below is my letter.


Sent: Friday, September 12, 2008 3:41 AM
To: PhysXDevSupport
Subject: Java wrapper for PhysX - ok redistribute parts of header files?

Dear PhysX support,

Some people write Java wrappers for PhysX using SWIG
(http://www.swig.org/). Portions of PhysX header files are included in
a SWIG input file. SWIG then generates Java code and C code as an
intermediate betwen PhysX and Java.

Does the PhysX SDK license allow redistribution of SWIG input files
(that is, files that include parts of PhysX headers) ?

If not, I believe very few Java developers will choose PhysX: The
developers would rely on someone else writing SWIG input files to
generate a Java wrapper. If this someone-else discontinues development
of the wrapper, the SWIG input files would no longer be available
(since they would not be redistributable). People would have to
re-create the SWIG input files --- which would be unreasonable
cumbersome/tricky; hence I believe few Java developers would dare to
use PhysX (unless they're committed to writing a wrapper themselves).

( Excerpt from http://developer.nvidia.com/object/physx_EULA.html,
EULA for the NVIDIA PhysX SDK:
      "Redistribution; Physics Applications. Any redistribution of
the PhysX SDK or
portions thereof must be subject to an end user license agreement
including language that
(a) prohibits the end user from modifying, reproducing, de-compiling,
reverse
engineering or translating the PhysX SDK; (b) prohibits the end user
from distributing or
transferring the PhysX SDK other than as part of the Physics
Application; [...]"
--- I would interpret this as allowing redistribution of header
files, if the Java wrapper could possibly be interpreted as an
application (?).
)

Kind regards,
Magnus



Kind regards,
Magnus

I unfortunately got a very different response from NVidia on the matter.  XD  The response I got didn't give me enough confidence to put up the interface files to create the wrapper…



The good news though is I can still create and distribute the Java wrapper and the necessary library to anyone that is interested.  My buddy and I are in the process of finalizing up the matter.  Unfortunately, we're both on Linux so we don't have our Windows build yet.  He is getting a windows box shortly to do the build and then we'll have it all ready.



We're thinking it'll be ready within a couple of weeks.  If you are interested before hand, send me a note at the e-mail in my profile and I'll send you a link to the site.



It's kind of cool because it should take advantage of your graphics card (assuming you have an NVidia graphics card with the right drivers and what not) to do physics calculations.

thorst said:
The response I got didn't give me enough confidence to put up the interface files to create the wrapper...


I'd interpret Nvidias EULA as as long as you ensure that [those you to which you redistribute the PhysX SDK] abide by that long sencence in section 3 in the EULA (the one I've cited above), then you may redistribute the SDK. Perhaps this involves not allowing a person to download the SWIG files before s/he has [confirmed to you that s/he abides by the EULA] by clicking some button.
  But I hope it's fine to simply include in the SWIG files a statement that "By downloading or using this PhysX Java wrapper or any portion thereof, you agree to the following terms and conditions. ... You must not modify, reproduce, de-compile, reverse engineer or translate the PhysX SDK...".

thorst said:

The good news though is I can still create and distribute the Java wrapper and the necessary library to anyone that is interested.


Hmm, I would not dare to rely on a closed source wrapper (with regard to SWIG files), since there'd be no guarantee that the authors continue to update the SWIG files for new PhysX versions. I'd assume eventually I would have to write my own SWIG files, and then I might as well do that from scratch.

Actually, I started writing my own wrapper 5 days ago. So, I'm interested in how you've tweaked SWIG to produce appropriate Java and C++ code, and I can probably deduce what you've done by studying your C++ and Java code :) (This is how I believe a closed SWIG source wrapper will be useful -- well, except that some people might believe things last forever, and believe a SWIG wrapper will be maintained forever.)
So I'll send you a message :)

Thanks,
Magnus

You know - I agree with you.  I want to work on getting this wrapper stuff in a state where it is able to be open-sourced…



However, until then there is no real reason not to even put the project on the web and make it usable by others.  So that is a significant driving requirement…but its just not there yet.  Things take time  :frowning:



I'm going to send you a link tonight.  I am hoping that will instill some confidence in you  :D  I don't plan on just abandoning it (unless I work on it for a year an no one even downloads it  XD) however I understand your worries.

Thanks for the link.



May I ask, how is work progressing?



Regards, Magnus