Porting Irrlicht to C#

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
HeWhoAsksAQuestion

Porting Irrlicht to C#

Post by HeWhoAsksAQuestion »

I was just wondering if it would be a good idea. C# is getting better and better plus its already supportd on linux.
And would there be any legal issues?
thesmileman
Posts: 360
Joined: Tue Feb 10, 2004 2:20 am
Location: Lubbock, TX

Post by thesmileman »

I don't think there would be any legal issuse but I do think with the rapid development of Irrlicht by niko as of current this would be very time consuming. Updates come usually in less that a month so you would be busy.
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

I plan to create a .NET version of Irrlicht in the future, but it is a lot of time until then. If someone else would like to start a C# version of Irrlicht, it would be really cool. It is a lot of work, but it is not impossible. :)
BradB
Posts: 17
Joined: Wed Feb 11, 2004 11:44 pm
Location: New Zealand

Post by BradB »

Do you mean a full C# version, or just C# language bindings?

I personally don't see the point in having 2 different versions of the same thing, unless they cover different niche areas, like Python & Jython.

Brad
niko
Site Admin
Posts: 1759
Joined: Fri Aug 22, 2003 4:44 am
Location: Vienna, Austria
Contact:

Post by niko »

BradB wrote:I personally don't see the point in having 2 different versions of the same thing, unless they cover different niche areas, like Python & Jython.
That's right. I thought of porting Irrlicht to Managed C++ so that it can be used with all .NET languages. Some people already tried to do this, but I don't know if the succeeded.
BradB
Posts: 17
Joined: Wed Feb 11, 2004 11:44 pm
Location: New Zealand

Post by BradB »

Porting Irrlicht to support managed C++ would be useful, because you then get all the .NET supported languages and platforms. It would also be interesting to see how fast the managed .NET framework is in a 3D app.

Brad
HeWhoAsksAQuestion

Post by HeWhoAsksAQuestion »

Well, i already rewrote a couple of base classes like aabbox3d, line3d and vector3d without much hassle, because C# syntax is very similar to C++. I haven't tested them, though.
NoOne

Post by NoOne »

Well it will be cool..but how about C# pointers , multiple inheritance , etc missing features from C++ ?

Also what will look like the OpenGL support under .NET , i know OpenGL works just fine on every platform out there but are you panning to completely drop it in future versions because IMHO it just "prevent" the engine from being optimized.
Implementing two different renderer in an engine comes in cost that you finnally end up with a "fat" .dll a NULL device and a bunch of your custom data types being there for compatibility , well that's ok but what about speed ?
HeWhoAsksAQuestion

Post by HeWhoAsksAQuestion »

Well, you can do pointers in C#, but there's no need for it. As far as i know, C# has all the features of C++ except templates, but that will be fixed in C# 2.0. C#-s speed is about 95% of C++. OpenGL is supported in C# as Tao.OpenGL, which speed is even better in some cases that Managed DirectX. I hope i haven't started a flamewar of C# against C++.
buhatkj
Posts: 444
Joined: Fri Dec 12, 2003 4:53 am
Contact:

serializing?

Post by buhatkj »

the most interesting feature i heard about c#, and this may not be entirely accurate, but i heard that in c#, all classes inherently can be automatically serialized for sending over a network. is that true? if so that would be hella cool for networked apps...
-Ted
My irrlicht-based projects have gone underground for now, but if you want, check out my webcomic instead! http://brokenboomerang.net
Criamon

Post by Criamon »

I am trying to compile Irrlicht as managed c++. But I recieve this *#§§ "metadata operation failed" linker error again. My understanding is, that compiling a c++ project as managed c++ shouldn't be much of a problem. But it seems that I am wrong here.

Btw, if it is possible to compile Irrlicht "managed", porting to c# shouldn't be required anymore, cause you should be able to use the managed irrlicht component from c# without any problems...

so many "shoulds"...

So if someone has experience with compiling Irrlicht to managed assembly, please exchange you exp here.

Criamon
Criamon

Post by Criamon »

I am still trying to compile Irrlicht with .Net 2003 as managed c++. Unfortunatelly I can't get around this linker error:

managed error LNK2022: metadata operation failed (8013118D) : Duplizierte Typen (_D3DPRESENT_PARAMETERS_) wurden gefunden, aber die Typenlayoutinformationen sind nicht konsistent: (0x0200002c).

(the german part means typelayout information are not consistent)

Any idea someone?

Thanks,
Criamon
HeWhoAsksAQuestion

Post by HeWhoAsksAQuestion »

Well, i've compiled Irrlicht in managed C++, but some things don't work yet, like createDevice() and enums. The problem criamon had was that manaegd c++ doesn't like multiple instances of one thing(D3DPRESENT_PARAMETERS in my case). I had to edit d3d8types.h and d3d9types.h to get over it
imperfect

...

Post by imperfect »

Doesn't seem to me that it would make sense to create a c# version of irrlicht. I'd rather have the engine be faster (c++) and callable from c# where you can perform less intensive operations.

I don't see that making irrlicht callable from C# would be all that difficult. Time consuming yes :) difficult no.
Post Reply