PhysX4Java alpha 0.0000000000000001 released

Ok here is the first release of my java binding to PhysX.

To those who do not know what PhysX is…it is ODE times 1000. It is rocksolid.

Right now PhysX4Java supports actors (bodies in ODE),materials and (very soon) joints.

I'll be working on the dynamics part first since that is what I need for my project. However I think

in time all of PhysX should be supported.

Check it out and if there are any problems running it, post here.

I'm not sure if PhysX needs to be installed for it to run or if it's enough that the DLLs are there.

Anyway I submitted the DLLs to subversion as well.

Feel free to write in the wiki or submit bugrepports or whatever.



Supported features so far:


Sphere shape

Box Shape

RevoluteJoint (JointHinge in ODE)

D6Joint  (6 degrees of freedom)

Joint Motors

Joint spring/damping

Collision handling  events

Excellent initiative, Baune. This is something that is really needed…

Did you consider using swig/noodleglue/etc. ? It looks like the binding code is handwritten…

I thought that swig/noodles could only generate function to function bindings not object to object.

That's not true - for both.

I tried both and ran into all sorts of problems…so I won't waste anymore time on that.

exellent…yes it one of the those projects you'd rather not do completely by hand, but because of the way it's written you have to.

Although if you post on the Novodex boards they might have some solutions for you…doubt it though.

Kira said:

Although if you post on the Novodex boards they might have some solutions for you...doubt it though.

they don't - from their faq:

Are there plans to provide support for Java developers?

    Not at this time. You could wrap the SDK in a COM object though, and call from Java.

They do not even know jni :-o (or somehow believe it would be easier with COM?)

Just tried to run the PhysX4Java demos, but it couldn't find the physx.dll - can you put that one into svn, too?

p.s. probably add the vs files also?

Mystery to me why it was ommited from the commit. Will put it there right away.

Well the VS files abit more tricky. What I did to get it working :

  1. Downloaded the SDK
  2. Openened the "examples_2005.sln" (or something) and all examples opened. Then you might have to fix alot of stuff with libraries and headers.
  3. When all works, I changed the project "lesson101" to output to a DLL instead of exe…and deleted the "lesson101.cpp" because it was not needed.
  4. Dragged the "physx.cpp" into the lesson101/sources folder. The file will still be in the src/cpp eclipse directory but VS will keep a reference to it and still compile it.
  5. Rebuild the project

    That's it pretty simple. I will write a more comprehensive manual soon and also have a preconfigured Visual Studio project ready.

Hey! I was able to run the demos :slight_smile: - looks promising

(it really requires to install PhysX system software :frowning: - that’s really annoying as you can’t make PhysX webstart/applet demos very well this way)

@irrisor, I'm sure you could figure a way around that, right? :wink:

No, it seems their actual physics engine resides in a device driver :-o

irrisor said:

No, it seems their actual physics engine resides in a device driver :-o

WHA!?!  That's interesting.

…and by "interesting" you mean SUCKY? :wink:

darkfrog said:

....and by "interesting" you mean SUCKY? ;)

Indeed.  I guess the way to deal with it would be to have jME Physics check for capabilities just like what's done for vid card detection and utilize PhysX if it's there and ODE if it's not?  (after PhysX is moved into jME Physics) But I suppose if you're coding for PhysX it's probably because you need the increased resolution/capabilities and falling back would suck for you.  Then again, maybe that could be controlled by a property that would say if fallback was acceptable or not.  If it's not, and PhysX is not there, pop up a message box stating that it's required.  But this kinda really screws packaging your game if you require it.  Confuses things for the end user.

There is an auto installer executable for easy deployment. You can just call that from Java and it could be deployed even from a signed applet.

Novodex want people to know that they are using PhysX (to promote their card) so there's some issues there (you must inform users about it or how

else could they buy the card?). These are all very small problems compared to the physics engine you get all for free.

But you still need administrator rights to install it - so calling a self-installer might not suffice.

Hmm I think you need admin rights as well to install Java or anything else that does more than write Hello World.

Well anyway I was talking windows deployment … and in windows 99.99999 of users have admin rights because they don't understand the purpose of anything else and they don't know how to create new users others than the default admin one. Maybe that would change in Vista.

That sounds like a dig at Window users to me.

Its pretty much the same in Vista - I dont know of any reason why a home user would want any account type other than administrative anyway - unless their older brother is trying to assert their dominance.