Current .NET compatibility
Current .NET compatibility
I've been involved in developing with Irrlicht since early last year and our developing team is completly focused on the future of developing. This means we already use .NET Developing for several months and we just cant wait for Irrlicht to have full compatibility with the future of programming: the framework.
Now what is the current compatibility with .NET (VB)?
There was a time that it was described at the development-page but since a while it seems that the current update's are to the basics of the engine and ofcourse thats good but when is the strugle for .NET compatibility coming back?
Now what is the current compatibility with .NET (VB)?
There was a time that it was described at the development-page but since a while it seems that the current update's are to the basics of the engine and ofcourse thats good but when is the strugle for .NET compatibility coming back?
Yes, sorry, I should write that down. For the next release, I want to make available at least animators. So that .NET users have collision detection stuff etc. I should have written down this on the development page.
However, I am currently a little bit confused if I should rewrite the .NET wrapper completely, because those §$% at microsoft seem to drop support for managed C++ and favor C++/CLI slowly: For example the .xml output only works with C++/CLI in the VS Beta. Maybe this wouldn't be a lot of work, just changing some identifiers etc. But if it is, I think I would ignore C++/CLI and keep on pushing Irrlicht.NET forward so it has more features.
Sorry for this confusing text, just thinking loud.
However, I am currently a little bit confused if I should rewrite the .NET wrapper completely, because those §$% at microsoft seem to drop support for managed C++ and favor C++/CLI slowly: For example the .xml output only works with C++/CLI in the VS Beta. Maybe this wouldn't be a lot of work, just changing some identifiers etc. But if it is, I think I would ignore C++/CLI and keep on pushing Irrlicht.NET forward so it has more features.
Sorry for this confusing text, just thinking loud.
Question regarding .NET Compatibility
Just a quick question about the .NET API...
Does it support the 2D interface objects? (ie. Can I make the equivalent of a IGUIStaticText object with the .NET API?)
Thanks,
-CrimsonShadow
Does it support the 2D interface objects? (ie. Can I make the equivalent of a IGUIStaticText object with the .NET API?)
Thanks,
-CrimsonShadow
Re: Question regarding .NET Compatibility
Currently no GUI elements are supported, sorry. But I just released version 0.10.0 of Irrlicht, and the new Irrlicht.NET can at least now draw fonts and 2D stuff. Maybe that helps a bit.CrimsonShadow wrote:Does it support the 2D interface objects? (ie. Can I make the equivalent of a IGUIStaticText object with the .NET API?)
Niko, I haven't played around with the .NET side of Irrlicht much at this time. But I was pondering if the same idea as the Win32 example could be implamented into the .NET version; in the aspect of using forms and having a rendering device placed in one. This is just something that I believe would help with Irrlicht Applications for level design or the such, and if this is already implamented I must appologize for my ignorance in reading through the .NET docs fully.
-
- Posts: 64
- Joined: Sun May 22, 2005 3:06 pm
- Location: Germany
- Contact:
-
- Posts: 64
- Joined: Sun May 22, 2005 3:06 pm
- Location: Germany
- Contact:
That's right!niko wrote:Hm, I don't know what your are doing, but createDeviceEx is not available in the .NET version currently.Duncan Mac Leod wrote:I have been trying to implement the call to createDeviceEx into the Irrlicht.NET.dll
Code: Select all
IrrlichtDevice::IrrlichtDevice(Video::DriverType driverType, int hWnd)
: Device(0), ManagedVideoDriver(0), ManagedSceneManager(0), ManagedCursorControl(0),
ManagedEventReceiver(0)
{
irr::SIrrlichtCreationParameters param;
param.WindowId = hWnd;
param.DriverType = (irr::video::E_DRIVER_TYPE)driverType;
Device = irr::createDeviceEx(param);
if (!Device)
throw new System::Exception(new System::String("Specified device could not be created."));
ManagedVideoDriver = new Video::IVideoDriver(Device->getVideoDriver());
ManagedSceneManager = new Scene::ISceneManager(Device->getSceneManager());
ManagedCursorControl = new GUI::ICursorControl(Device->getCursorControl());
ManagedFileSystem = new IO::IFileSystem(Device->getFileSystem());
ManagedGUIEnvironment = new GUI::IGUIEnvironment(Device->getGUIEnvironment());
}
-
- Posts: 64
- Joined: Sun May 22, 2005 3:06 pm
- Location: Germany
- Contact:
Okay, Niko!
It works now !
http://www.excelsior-online.org/images/ ... tainer.jpg
...but I had to dig deeper into your source-code as I actually wanted...
I did some modifications on your Engine Code and some on your .NET Wrapper 'Irrlicht.NET' Code and had to rebuild both (Engine and Wrapper) from Source...
Now we are able to host the engine in a container widget for our .NET-Applications...
Sorry for bothering you ... - keep up your excellent work and especially the .NET Support ...
bye,
Duncan
--
Tucan Entertainment
P.S.: maybe, you are remembering me from your eMail Box - I was the guy who was asking for a .NET Wrapper for Mono. - I am glad to tell you, that our Dev.-Team has decided to implement your Engine into our Project - ...and we will make a .NET Wrapper when our Project is released for Win32 - maybe, someone else will finish a wrapper for Mono first, so we won't have to do such a wrapper on our own ...
It works now !
http://www.excelsior-online.org/images/ ... tainer.jpg
...but I had to dig deeper into your source-code as I actually wanted...
I did some modifications on your Engine Code and some on your .NET Wrapper 'Irrlicht.NET' Code and had to rebuild both (Engine and Wrapper) from Source...
Now we are able to host the engine in a container widget for our .NET-Applications...
Sorry for bothering you ... - keep up your excellent work and especially the .NET Support ...
bye,
Duncan
--
Tucan Entertainment
P.S.: maybe, you are remembering me from your eMail Box - I was the guy who was asking for a .NET Wrapper for Mono. - I am glad to tell you, that our Dev.-Team has decided to implement your Engine into our Project - ...and we will make a .NET Wrapper when our Project is released for Win32 - maybe, someone else will finish a wrapper for Mono first, so we won't have to do such a wrapper on our own ...
-
- Posts: 64
- Joined: Sun May 22, 2005 3:06 pm
- Location: Germany
- Contact:
Okay - we are coding a Toolset on Irrlicht for our upcoming RPG, too...AlexL wrote:Duncan Mac Leod, do you think it possible to get the two newly compiled *.dll files and an example of how to implament it from you. This would really help out the development of our world editor application, thanks in advance
http://www.excelsior-online.org/downloa ... ne_builds/
or use our Mirror-Server:
http://secondary-download.excelsior-onl ... ne_builds/
Our additions to IrrlichtDevice are:
IrrlichtDevice - Overloaded. Initializes a new instance of the IrrlichtDevice class.
public IrrlichtDevice(DriverType); // exists in irrlicht-0.10.0 .NET
public IrrlichtDevice(DriverType,int); // NEW in our Custom Build
public IrrlichtDevice(DriverType,Dimension2D,int,bool,bool,bool); // exists in irrlicht-0.10.0 .NET
...therefore you can call in C#:
//create a winform
//create a panel on the Form
IrrlichtDevice device = new IrrlichtDevice(DriverType.OPENGL, (int)this.panel1.Handle);
device.ResizeAble = true;
...we have only tested the Custom Build with one small sample app., yet! ...and only on OpenGL - USE AT YOUR OWN RISK!
...IMPORTANT: we have removed ALL Window-Captions/Borders/etc. on any Window created by the Engine, so you also won't have Borders/etc. if you are not calling our new overloaded Method using the original ones - THIS IS WANTED BY DESIGN and not a bug!
Have Fun,
Duncan
--
Tucan Entertainment
WARNING: this Custom Build of Irrlicht is NOT supported! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED...
-
- Posts: 64
- Joined: Sun May 22, 2005 3:06 pm
- Location: Germany
- Contact:
First of all, we are able to advance our Project much quicker using C# - it's more productive. Second, we want to run our Game on Linux without the need of porting it. Of course, we need an API-Wrapper on Mono, but we will write one when our Game is done...MeMyselfAndI wrote:I know .NET is important but can someone tell me, a good reason for leaving the old api's behind and using .NET at this stage (Besides that .NET offers acces to OS components and COM objects faster and more reliable).
...and keep in mind, that everyone should use his Language of choice - there is no need to discuss, which Language is better!
just my 2 cents,
Duncan
--
Tucan Entertainment
P.S.: cause we are developing a tile-based game like NWN, we will have to alter much more things from time to time in Niko's excellent code than adding some .NET specific things only ...
Yeah! Of course.Duncan Mac Leod wrote:there is no need to discuss, which Language is better!
It's C (K&R C - the only lang for real Men)
(For everyone who didn't get the joke - calm down, it IS one )
So fight high level languages, they make ours children forget the wisdom of the ancient gods
[G.o.D - Heise-Forum]
[G.o.D - Heise-Forum]
-
- Posts: 2
- Joined: Thu May 26, 2005 10:03 pm
Re: Question regarding .NET Compatibility
Cool. I just noticed the 0.10.0 release today. The 2D drawing stuff is much appreciated.niko wrote:Currently no GUI elements are supported, sorry. But I just released version 0.10.0 of Irrlicht, and the new Irrlicht.NET can at least now draw fonts and 2D stuff. Maybe that helps a bit.CrimsonShadow wrote:Does it support the 2D interface objects? (ie. Can I make the equivalent of a IGUIStaticText object with the .NET API?)
Thanks,
-CrimsonShadow