MogreNewt
From Ogre Wiki
Contents |
Introduction
MogreNewt is a C++/CLI port of OgreNewt which, in turn, is a C++ wrapper for the Newton Game Dynamics physics library. In plain words, MogreNewt integrates with MOGRE and brings physics to the .NET world using the Newton library.
Precompiled Binaries
You can find precompiled binaries of MogreNewt in the latest MOGRE SDK. You also need the 'Newton.dll' from the Newton Game Dynamics SDK 1.53. Install the Newton SDK and copy NewtonSDK\sdk\dll\Newton.dll to the OgreSDK\bin\debug and release folders.
For MogreNewt 2.0, You can find the binary here : MogreNewt 2.0 Binary, make sure you use the 2.10 Newton SDK available here : Newton 2.0 SDK
Samples
You can find the MogreNewt samples on MOGRE's SVN source on https://mogre.svn.sourceforge.net/svnroot/mogre/tags/MogreNewt-1.53/Samples. You will need a SVN client like TortoiseSVN to download the files.
For Newton 2.0 you will find the samples here https://mogre.svn.sourceforge.net/svnroot/mogre/trunk/MogreNewt/Samples
MogreNewt Source
The full SVN source of MogreNewt for Newton 1.53 is on https://mogre.svn.sourceforge.net/svnroot/mogre/tags/MogreNewt-1.53
The current source of MogreNewt on SVN are for the Newton 2.10 beta https://mogre.svn.sourceforge.net/svnroot/mogre/trunk/MogreNewt.
- Or download the tarball archive here.
The Newton 2.0 library you find here: http://www.newtondynamics.com/forum/viewtopic.php?f=9&t=4922
- For Windows use the newton.dll file from package subdirectory sdk\x32\dll_vs9. (even if you have 64 bit Windows, because MogreNewt by default compiles against this)
Building MogreNewt 2.0 For Mogre 1.4
The current version of MogreNewt 2.0 is for the 1.6 version of Mogre.
To compile it for the Mogre 1.4 version you need to edit OgreNewt_Body.cpp:
Add #include "OgreNoMemoryMacros.h" before Joint::Destructor in OgreNewt_Joint.cpp and Body::NewtonDestructor.
Also add #include "OgreMemoryMacros.h" after the same functions.
Known bugs MogreNewt 2.0
- Some violation exception in treecollision class: http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=10997
- MogreNewt::CollisionPrimitives::ConvexHull exception if the entity is a ManualObject.
- MogreNewt::CollisionPrimitives::ConvexHull exception if the Mogre object has a scale of 0
- MogreNewt::World::SetThreadCount(2) produces a bug with bounding box updating of Ogre object: http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=11247&p=64439
See also
- Newton Game Dynamics
- MogreNewt for Newton 2.0 - forum thread
- Ray query with MOGRE
- Ray classes in MOGRE
- Collision detection with Newton
- Example code (Ogre)
- Documentation of Newton API - good to understand the functionality
- Use buoyancy - code snippet
- newtondynamics.com - website of the physics library
- Newton wiki
- Mogre snippet - how to enable the new debugging system (outdated?)
- Mogre XML commentation tool - can create commentations in Visual Studio for MogreNewt class members

