Skip to main content

History: MogreNewt

Source of version: 17

Copy to clipboard
            {maketoc}

!Introduction
MogreNewt is a an add-on for ((Mogre)), which offers physics functionality and collision detection.

Internally it contains the free, closed-source physics library [http://www.newtondynamics.com|Newton Game Dynamics] (often just called ''Newton''). 
By use of the wrapper ''MogreNewt'' it's possible to use the Newton library with Mogre (.NET). MogreNewt is a port of ((OgreNewt)), which is a wrapper for using Newton with Ogre (C++).

The newest MogreNewt __binaries__ you can __download__ here:
* In [http://www.ogre3d.org/addonforums/viewtopic.php?p=81869#p81869|this forum post]. (Mogre 1.7.3 and Newton 2.33)
* In [http://www.ogre3d.org/addonforums/viewtopic.php?p=53122#p53122|this forum post]. (Mogre 1.7.1 and Newton 2.25)


!Where to get help
When you need information how to do something with Newton or if you have problems by using Newton we would suggest this:

* For __general questions__ (how Newton works, its logic, etc.) you find good help in the external __[http://newtondynamics.com/forum|Newton forum]__.

* For questions how to do something in __interaction with Ogre__ (and Mogre), you can use the __[http://www.ogre3d.org/addonforums/viewforum.php?f=4|OgreNewt section]__ of the Ogre Add-ons forum. There is a better chance to get an answer, because there are much more users who know to handle with Newton. In the Mogre section are not so much people with Newton knowledge (because C++ Ogre is more common).

* For question which are __specific for Mogre and MogreNewt__ a good place is [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=9193|this topic] in the Mogre forum. It also contains code snippets.



A good help could also be:

* [http://www.newtondynamics.com/wiki/index.php5?title=Main_Page|Newton wiki]
* [http://www.runehunter.phpnet.us/NewtonHelp.html|Newton API description] - seems to be only related to Newton 1.x, but most functions are similar


!Binary notes
!!Pre-compiled binaries
Most easy is to use precompiled binaries. 
But for this it's important that the MogreNewt wrapper was build against the same Mogre version as used by for application. (To make it more clear with an example: When you use Mogre 1.7.3 with your application and a MogreNewt library, which was against Mogre 1.7.1 then you will get trouble.) 
One way to avoid this problems: Usa a binary bundle, which still contains Mogre and MogreNewt. (e.g. [http://www.ogre3d.org/addonforums/viewtopic.php?p=81869#p81869|Mogre 1.7.1 bundle] by user Cygon) 
An other way is to build MogreNewt yourself.

!!Build yourself
Here is a quick note about that, posted in March 2012:
{QUOTE(replyto="GantZ")}
* The last version of MogreNewt is on the mogreAddons repository over bitbucket, it worked with newton 2.25
* Last time I built it, no version of newton were available for vs10. now that newton is open source, you probably can build it for vs10.
* The repository for the newton source code is available over googlecode : http://code.google.com/p/newton-dynamics/
* The build of MogreNewt is pretty straightforward, just compile it directly using visual studio,or use msbuild to automate the process. you need to download the newtonsdk first, assure yourself that you target the last mogre lib file. It's build like most of the plugins outside of the ogre project range (hydrax, caelum, skyx, etc...)[/list]

You can use the existing vc9 project file as a reference if you want to build it for vc10.
{QUOTE}

Alternatively there is the nice tool ((MogreBuilder)), which compiles Mogre from sources. It was started to include support for MogreNewt (by using the command-line option "-mogrenewt"). Look to it's [https://bitbucket.org/mogre/mogrebuilder|repository] to see if the feature is already embedded. Alternatively ask in the [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=29272|MogreBuilder forum topic] for the current state.


!See also
* ((OgreNewt))
* ((OgreNewt 2))
* [http://www.ogre3d.org/addonforums/viewtopic.php?f=8&t=9193|MogreNewt for Newton 2.0] - forum thread - __ask questions here__
* ((Ray query with MOGRE))
* ((Ray classes in MOGRE))
* ((Collision detection with Newton)) - basic knowledge
* [http://www.ogre3d.org/addonforums/viewtopic.php?p=72651#p72651|Demo application for collision detection] with MogreNewt
* [http://ogreaddons.svn.sourceforge.net/viewvc/ogreaddons/trunk/ogrenewt/demos/|Example code] (Ogre)
* [http://www.runehunter.phpnet.us/NewtonHelp.html|Documentation of Newton API] - good to understand the functionality
* [http://www.ogre3d.org/addonforums/viewtopic.php?p=52521#p52521|Use buoyancy] - code snippet
* [http://www.newtondynamics.com|newtondynamics.com] - website of the physics library
* [http://www.newtondynamics.com/wiki|Newton wiki]
* [http://www.ogre3d.org/addonforums/viewtopic.php?p=58876#p58876|Mogre snippet] - how to enable the new debugging system (outdated?)
* ((Mogre XML commentation tool)) - can create commentations in Visual Studio for MogreNewt class members
* ((PhysX Candy Wrapper)) - an alternative physics library for Mogre
* ((BulletSharp)) - second physics alternative for Mogre


!Outdated information
Note: 
These sections are foremost outdated, so they were moved to the bottom. Sorry that there is no fresh information on this wiki page.


!!Precompiled Binaries
You can find precompiled binaries of MogreNewt in the latest [http://sourceforge.net/project/showfiles.php?group_id=174997|MOGRE SDK]. __You also need the 'Newton.dll' from the [http://www.newtondynamics.com/downloads.html|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 SDK including binary [http://newtondynamics.com/forum/downloads.php here].

!!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 [http://tortoisesvn.tigris.org|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 [http://mogre.svn.sourceforge.net/viewvc/mogre/trunk/MogreNewt|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]



        

History

Information Version
Mon 10 of Feb, 2014 18:45 GMT-0000 Beauty added link for MogreNewt build instructions 20
Thu 09 of Jan, 2014 07:09 GMT-0000 Beauty updated link to a binary bundle (with Newton 2.35) and added a note for the MogreBuilder option 19
Mon 29 of Oct, 2012 16:13 GMT-0000 Beauty Notes for compiling MogreNewt 18
Sun 24 of Jun, 2012 13:45 GMT-0000 Beauty added notes for MogreBuilder 17
Mon 19 of Mar, 2012 21:26 GMT-0000 Beauty added "Binary notes" 16
Thu 26 of Jan, 2012 18:56 GMT-0000 Beauty added link to BulletSharp 15
Mon 12 of Sep, 2011 23:32 GMT-0000 Beauty text improvements 14
Mon 12 of Sep, 2011 23:30 GMT-0000 Beauty updated newest download link 13
Sun 19 of Dec, 2010 22:50 GMT-0000 Beauty added link 12
Sun 19 of Dec, 2010 22:40 GMT-0000 Beauty 11
Sun 19 of Dec, 2010 22:33 GMT-0000 Beauty improved introduction + moved outdated sections to the bottom 10
Wed 15 of Dec, 2010 22:53 GMT-0000 sarcacid fixed lexicon link 9
Wed 15 of Dec, 2010 11:54 GMT-0000 Beauty added link to PhysX Candy Wrapper 8
Wed 15 of Dec, 2010 11:42 GMT-0000 Beauty added link for demo application 7
Mon 06 of Sep, 2010 10:40 GMT-0000 Beauty added section "where to get help" 6
Wed 14 of Jul, 2010 19:36 GMT-0000 Beauty 5
Wed 14 of Jul, 2010 19:35 GMT-0000 Beauty 4
Wed 14 of Jul, 2010 19:24 GMT-0000 Beauty update of download notes / links -- but much update work is needed anymore on this wiki page 3
Sun 27 of Dec, 2009 17:39 GMT-0000 jacmoe 2
Sun 29 of Nov, 2009 04:31 GMT-0000 Beauty added link 1