Mono support?


05-05-2009 11:14:59


I was following the discussion about OgreDotNet vs. Mogre, especially concerning the wrapping techniques and their consequences towards Mono compatibility. I really think it is VERY important that Mogre moves away from its C++/CLI technology and instead uses C# with P/Invoke (like with using SWIG, which OgreDotNet uses). Don't get me wrong, I used Mogre and really appreciate it. But with Mono becoming more mature each day, I believe many C# developers (including myself) will try to do as much as possible on Mono to gain platform independence.

That said, I am curious about your "ambigious plans" concnerning mono support that you mentioned in some other thread...has anything happened there?

Cheers and keep up the good work! :D


05-05-2009 17:21:01

Also the .net compact framework doesn't support c++/cli, which is really annoying. I've heard the p/invoke method is costly on performance though. Really the reason I liked Mogre over OgreDotNet is the use of Properties and standard C# conventions. If we could have OgreDotNet do this and still be able to run on Mono, I'd switch over.


05-05-2009 20:23:36

C++/CLI is utilised mostly for "cooperation" between native code and .NET code. For example if you do "OverlayManager.Singleton.CreateOverlayElement("Panel")" you'll get a PanelOverlayElement .NET object, not a generic OverlayElement that you must unsafely cast to PanelOverlayElement so that you can use it.
This happens because the native Ogre classes, when a .NET object is requested for them, they enter the Mogre .NET side and initialise the right .NET object. Each Ogre subclass initialises the appropriate .NET subclass.

Technically, it can be done without C++/CLI but
-More difficult
-it requires different code for .NET and Mono (on the native side)
-A new wrapper must be written from scratch


06-05-2009 00:09:22

It's possible to install .Net on Linux under Wine.
So that might be a way to run Mogre apps on other platforms.

Haven't tried that out myself (mainly because Ubuntu tends to disintegrate itself on updates).


06-05-2009 02:26:51

I've heard some bad things about performance with that approach, too much overhead already.


29-05-2009 19:38:56

Can anybody tell me if MOIS is mono compatible?

Also, I didn't manage to find out what version of OIS is currently wrapped by MOIS. Does anyone know?