Ageia
PhysX Novodex
NET Wrapper
I originally wrote this wrapper because I was adding physics to a C#
program and there was no NET wrapper out there. Since some people
showed interest in the wrapper I decided to release it.
The NET wrapper is essentially complete now besides bug fixes.
There is more
information available in the readme
file including requirements, how to compile with it, and acceptable use
of the wrapper.

October 11th 2006
Version 2.5.1
Here's the newest 2.5.1 wrapper. I don't have time to put up the
2.5.1 samples now.
Novodex_NET_Wrapper_DLLs_10_11_2006.zip
(v2.5.1) (292KB)

September 11th 2006
Non-DirectX
Version
There are now two versions of the NET wrapper. One which is very
DirectX friendly and one version that doesn't require DirectX at all.
They are essentially identical. The DirectX version just replaces
NxVec3 and NxMat34 with Vector3 and Matrix in most places. Also the
DirectX version has implicit conversion operators for NxVec3 and
NxMat34 to Vector3 and Matrix.
The readme file explains the
differences between the two versions in more depth.
All major classes have been finished. (Finished as in coded but not
fully tested.)
Fluids are in but since I don't have the hardware I can't test them to
see if they work.
There are two versions of SimpleTutorial one using the DirectX wrapper
and one using the non-DirectX wrapper.
Requires PhysX System Software 2.4.4 or above. Get the latest version here.
Novodex_NET_Wrapper_DLLs_09_11_2006.zip
(v2.4.4) (287KB)
NovodexTutorials_09_11_2006.zip
(2701KB)
NovodexWrapperCode_09_11_2006.zip
(414KB)

Downloads
The demos and tutorials will contain all necessary DLLs including the
wrapper DLLs and the Novodex DLLs.
If you just want the wrapper DLLs then download
'Novodex_NET_Wrapper_DLLs'.

August 25th 2006
Wrapper and Tutorial
Update
Filled in some minor missing methods.
Added NxScheduler and NxTask class.
Added a car to SimpleTutorial.
Novodex_NET_Wrapper_DLLs_08_25_2006.zip
(v2.4.4) (154KB)
NovodexTutorials_08_25_2006.zip
(1344KB)
NovodexWrapperCode_08_25_2006.zip
(189KB)

August 18th 2006
Wrapper and Tutorial
Update
Fixed managed memory "leaks" associated with meshes.
Made it so that if you aren't using NxCharacter.dll or NxCooking.dll
you don't have to place them in your path.
Fully implemented BoxControllers and CapsuleControllers.
Updated SimpleTutorial to have an example of using box and capsule
controllers.
Novodex_NET_Wrapper_DLLs_08_18_2006.zip
(v2.4.4) (150KB)
NovodexTutorials_08_18_2006.zip
(1335KB)
NovodexWrapperCode_08_18_2006.zip
(185KB)

August 12th 2006
Wrapper and Tutorial
Update
Updated to Novodex 2.4.4.
Added cloths and non-triangleMesh heightfields.
Filled in some missing methods.
Made the SimpleTutorial even more complex by adding a cloth, a flag, a
non-triangleMesh heightField and a multishape actor.
Novodex_NET_Wrapper_DLLs_08_12_2006.zip
(v2.4.4) (148KB)
NovodexTutorials_08_12_2006.zip
(1325KB)
NovodexWrapperCode_08_12_2006.zip
(183KB)

June 9th 2006
Managed Code
Since I don't have any of those fancy comments in the code I decided to
put up the C# code for the wrapper. It's much easier to search through
the code to figure something out rather than randomly search through a
list of methods.
This is just the managed code, it doesn't include the native part of
the wrapper. This code is released in place of documentation and you
are not allowed to modify or release it.
NovodexWrapperCode_06_08_2006.zip
(164KB)

June 8th 2006
Wrapper and Tutorial
Update
Fixed some bugs in NovodexUtil which wouldn't allow a triangleMesh to
work with a static actor.
Added heightField utility functions to NovodexUtil.
Added a utility function for creating planes to NovodexUtil.
Made the SimpleTutorial even more complex by adding a static
heightField and a static building.
Download
Simple Tutorial
(1052KB)
The unicycle works really
poorly. For some reason when the wheel stops moving it freezes. You can
steer the wheel but it won't drive forwards or backwards until you bump
it with another object or shoot it.
Novodex_NET_Wrapper_DLLs_06_08_2006.zip
(v2.3.2) (133KB)
NovodexTutorials_06_08_2006.zip
(1052KB)

May 5th 2006
Wrapper Update
In last couple days I put a little more time into updating the wrapper.
NxWheelShape seems to work now.
I added a unicycle using NxWheelShape to the tutorial.
Novodex_NET_Wrapper_DLLs_05_05_2006.zip
(v2.3.2) (133KB)
NovodexTutorials_05_05_2006.zip
(1025KB)

May 2nd 2006
Wrapper Update
Here's an early release of my port from 2.2 to 2.3.2.
(I just noticed that 2.4 is out but hasn't been released publicly. I'm
sure that would be a minor port.)
It hasn't been tested very thoroughly. It seems to work fine for me.
NxWheelShape was added but is untested.
Fluids still aren't implemented.
Update: Links to crappy DLLs pulled.

August 7th 2005
Wrapper Update
Yikes, that took a long time to release an update. I'm putting up some
stuff which is about a month old but never got around to putting up.
So what's new?
I continued adding methods and classes. Minor classes like NxSphere,
NxCapsule, and NxSegment were added. More major classes include
NxEffector, NxSpringAndDamperEffector, NxUserEntityReport and many of
the controller classes. The character controller classes haven't been
added though. Also, fluid classes have been partially implemented, but
untested because fluids haven't been enabled in Novodex's DLLs.
The most important change for anyone who is using the last version of
the wrapper is that the NxJoint creation methods have been moved from
NxJoint to NovodexUtil. NovodexUtil contains methods to simplify the
creation of joints without using the descriptors. Each joint type has
it's own method with appropriate parameters, such as
NovodexUtil.createPrismaticJoint(...).
There is something annoying about using the wrapper. You need to have
NxCooking.DLL, and NxCharacter.DLL in your path even if you're not
using anything from those DLLs. I'm hoping to figure out a way to
prevent the program from complaining when unnecessary DLLs aren't in
the path.
New downloads.
Novodex_NET_Wrapper_DLLs_08_07_2005.zip
(v2.2) (126KB)
NovodexTutorials_08_07_2005.zip
(786KB)
The tutorial doesn't contain much new. It has just been updated to work
with the changes made to the wrapper.

June 23rd 2005
Simple
Tutorial
This tutorial started out as a simple box on plane demo but it grew
into something showing off how to use most the major classes from
Novodex. NxPhysicsSDK, NxScene, NxActor, NxShape, NxJoint, NxMaterial,
NxUserDebugRender, NxUserContactReport, NxUserRaycastReport,
NxUserNotify.......
Remember this isn't a Direct3D tutorial so just ignore that code. Keep
the Direct3D region collapsed to make it easier to follow the physics
code.
The tutorial contains an executable, the wrapper DLLs and the Novodex
DLLs.
If you don't have .NET installed or the April DirectX you can get them
here.
.NET
2.0 redistributable (24MB)
DirectX
April 2005 redistributable (35MB)
Love that bloat. Any DirectX version before April will be incompatible
with this program because of my D3D render. I've heard about a June
version but I'm waiting to check it out when I get my broadband back.

April 18th 2005
Original C# Novodex Demo
Here's the original Novodex demo I put out. This demo
uses Novodex2.1.2.
From the original posting "....This demo
is built upon an editor which I've been making. For simplicity I've
stripped the editor down, but there is some editor functionality left.
That's what differentiates this phsyics demo from the usual 'knock the
box pile over' demo. Of course you can still knock box piles over, but
you can also create and manipulate objects well enough to build your
own stuff to play with. The renderer is pretty slow. Using a simple
renderer with D3D is rather slow, it's not as tolerant to ugly
unoptimized data like openGL is......"

Requires .NET 2.0 and a version of DirectX which is April 2005 or newer.
.NET
2.0 redistributable (24MB)
DirectX
April 2005 redistributable (35MB)
Woo, only 60MB of bloat for a 820KB program if you don't already have
.NET or a recent version of DirectX.

BUGS
The readme lists some bugs and
issues. If you find any bugs which are soley caused by the wrapper and
aren't from Novodex itself then email them.

Copyright
© 2006 Jason
Zelsnack. All Rights Reserved
|