Message #65
Sujet: Présentation d'Irrlicht .NET CP
| Type | Date | Auteur | Contenu |
|---|---|---|---|
| Dernière modification | 30-09-2012 09:16:53 | DeusXL |
Je vais essayer de faire ici une présentation du wrapper .NET non officiel d'Irrlicht : Irrlicht .NET CP (Cross-Platform).
Je ne garantie pas que ça soit court, mais ça sera complet (peut-être même un peu trop, notamment pour décrire Irrlicht). Note de préambule : Irrlicht .NET CP est un wrapper pour Irrlicht en C#. Il ne sagit pas du wrapper officiel (nommé "Irrlicht .NET"), ni d'un projet créé/géré par l'équipe du moteur Irrlicht. Ce n'est pas non plus un projet concurrent du wrapper officiel, c'est un projet qui a même commencé sur une ligne complètement différente, voilà pourquoi je ne comparerai pas forcémment les deux, mais justifierai juste les grandes lignes. Présentation : Irrlicht .NET CP (CP = Cross-Platform, multi-plateforme) est un wrapper entièrement codé sous Linux pour le moteur Irrlicht. La base du projet est donc de fournir un moteur 3D complet, disponible sur Linux, Mac OS et Windows, et fonctionnant pour n'importe quel langage .NET (au hasard, C#, VB .NET, Delphi .NET, C++/CLI, F#...). Il a été commencé en Juin 2006 et la première release a été faite début Juillet 2006 sur le forum d'Irrlicht. Je suis pour l'instant le seul membre de l'équipe mais j'ai reçu de l'aide d'une très grande quantité de personnes, pour le debug notamment. License : Avant tout je précise que le wrapper est sous la même license que le moteur Irrlicht, à savoir zlib/libpng, celle-ci autorise n'importe qui à modifier, recompiler, redistribuer le wrapper sans aucune limitation ni obligation si ce n'est celle de ne pas prétendre avoir écrit le logiciel de base, celle de ne pas prétendre que l'auteur du logiciel de base est responsable de votre modification et celle de bien vouloir (si possible) citer l'auteur et/ou mettre un lien. Cependant, en utilisant le wrapper on utilise Irrlicht qui elle-même utilise les travaux du groupe JPEG et qui eux sont sous une license demandant de citer le nom obligatoirement (plus d'infos sur leur site). Techniques : Avant de se lancer dans l'explication, il faut d'abord mettre une chose au clair : "Irrlicht .NET CP" n'est le nom que d'une des deux parties du wrapper. Il y a en réalité deux parties :
Les langages utilisés sont donc :
La librairie en C est appelée par le code C# au moyens des Platform Invoke, technique fonctionnant à la fois sous le framework .NET et sous le runtime Mono (pour Linux et autres plateformes). Ainsi, Irrlicht .NET CP n'existe qu'en une seule version et ce pour toutes les plateformes, alors qu'IrrlichtW existe en une version pour chaque plateforme (IrrlichtW.dll/Irrlicht.dll pour Windows, IrrlichtW.so pour Linux, IrrlichtW.dylib -non officielle- pour Mac OS X). De même, une application codée dans n'importe quel langage .NET, sous n'importe quel système d'exploitation supporté marchera sans aucune recompilation ni d'Irrlicht .NET CP, ni du programme en question. Notez enfin qu'IrrlichtW ne constitue pas la partie la plus importante du wrapper. En effet, IrrlichtW n'est utilisé que pour faire fonctionner Irrlicht .NET CP, et n'est pas calculé pour être utilisé directement (bien qu'il puisse l'être). Etat d'Avancement :
Avantages (et comparaison) :
Sur ce dernier point je rajouterai qu'Irrlicht .NET CP est actuellement le seul vrai moteur .NET tournant sur Linux (avec possibilité de MacOS). J'ai reçu quelques mails à ce sujet, notamment comme quoi OgreDotNet "pouvait" tourner sur d'autres plate-formes cependant Irrlicht .NET CP est garanti puisque codé sous Linux. Il ne plantera pas sous Linux, ni sous Windows pour X ou Y raisons. Tout ce qui est testé sur l'un l'est sur l'autre et tout ce qui marche sur l'un doit marcher sur l'autre. Il n'y a que 1% du code d'IrrlichtW qui varie selon le système d'exploitation et il sagit des préfixes d'exportation des librairies... Mini compilation de FAQ :
Liens : Page principale du wrapper (anglais) Forum du wrapper (anglais) Page SourceForge du wrapper (anglais) |
| Création du message | 30-09-2006 16:55:11 | DeusXL |
Je vais essayer de faire ici une présentation du wrapper .NET non officiel d'Irrlicht : Irrlicht .NET CP (Cross-Platform).
Je ne garantie pas que ça soit court, mais ça sera complet (peut-être même un peu trop, notamment pour décrire Irrlicht). Note de préambule : Irrlicht .NET CP est un wrapper pour Irrlicht en C#. Il ne sagit pas du wrapper officiel (nommé "Irrlicht .NET"), ni d'un projet créé/géré par l'équipe du moteur Irrlicht. Ce n'est pas non plus un projet concurrent du wrapper officiel, c'est un projet qui a même commencé sur une ligne complètement différente, voilà pourquoi je ne comparerai pas forcémment les deux, mais justifierai juste les grandes lignes. Présentation : Irrlicht .NET CP (CP = Cross-Platform, multi-plateforme) est un wrapper entièrement codé sous Linux pour le moteur Irrlicht. La base du projet est donc de fournir un moteur 3D complet, disponible sur Linux, Mac OS et Windows, et fonctionnant pour n'importe quel langage .NET (au hasard, C#, VB .NET, Delphi .NET, C++/CLI, F#...). Il a été commencé en Juin 2006 et la première release a été faite début Juillet 2006 sur le forum d'Irrlicht. Je suis pour l'instant le seul membre de l'équipe mais j'ai reçu de l'aide d'une très grande quantité de personnes, pour le debug notamment. License : Avant tout je précise que le wrapper est sous la même license que le moteur Irrlicht, à savoir zlib/libpng, celle-ci autorise n'importe qui à modifier, recompiler, redistribuer le wrapper sans aucune limitation ni obligation si ce n'est celle de ne pas prétendre avoir écrit le logiciel de base, celle de ne pas prétendre que l'auteur du logiciel de base est responsable de votre modification et celle de bien vouloir (si possible) citer l'auteur et/ou mettre un lien. Cependant, en utilisant le wrapper on utilise Irrlicht qui elle-même utilise les travaux du groupe JPEG et qui eux sont sous une license demandant de citer le nom obligatoirement (plus d'infos sur leur site). Techniques : Avant de se lancer dans l'explication, il faut d'abord mettre une chose au clair : "Irrlicht .NET CP" n'est le nom que d'une des deux parties du wrapper. Il y a en réalité deux parties :
Les langages utilisés sont donc :
La librairie en C est appelée par le code C# au moyens des Platform Invoke, technique fonctionnant à la fois sous le framework .NET et sous le runtime Mono (pour Linux et autres plateformes). Ainsi, Irrlicht .NET CP n'existe qu'en une seule version et ce pour toutes les plateformes, alors qu'IrrlichtW existe en une version pour chaque plateforme (IrrlichtW.dll/Irrlicht.dll pour Windows, IrrlichtW.so pour Linux, IrrlichtW.dylib -non officielle- pour Mac OS X). De même, une application codée dans n'importe quel langage .NET, sous n'importe quel système d'exploitation supporté marchera sans aucune recompilation ni d'Irrlicht .NET CP, ni du programme en question. Notez enfin qu'IrrlichtW ne constitue pas la partie la plus importante du wrapper. En effet, IrrlichtW n'est utilisé que pour faire fonctionner Irrlicht .NET CP, et n'est pas calculé pour être utilisé directement (bien qu'il puisse l'être). Etat d'Avancement :
Avantages (et comparaison) :
Sur ce dernier point je rajouterai qu'Irrlicht .NET CP est actuellement le seul vrai moteur .NET tournant sur Linux (avec possibilité de MacOS). J'ai reçu quelques mails à ce sujet, notamment comme quoi OgreDotNet "pouvait" tourner sur d'autres plate-formes cependant Irrlicht .NET CP est garanti puisque codé sous Linux. Il ne plantera pas sous Linux, ni sous Windows pour X ou Y raisons. Tout ce qui est testé sur l'un l'est sur l'autre et tout ce qui marche sur l'un doit marcher sur l'autre. Il n'y a que 1% du code d'IrrlichtW qui varie selon le système d'exploitation et il sagit des préfixes d'exportation des librairies... Mini compilation de FAQ :
Liens : Page principale du wrapper (anglais) Forum du wrapper (anglais) Page SourceForge du wrapper (anglais) |
| Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
|---|---|---|---|---|
|
Préférences cookies Corrections |
![]() ![]() ![]() ![]() |
Propulsé par Django xhtml 1.0 css 2.1 |
884 membres 1440 sujets 11337 messages |
Dernier membre inscrit: Saidov17 166 invités en ligne membre en ligne: - RSS Feed |