IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Moteurs 3D Discussion :

[Recherche] Moteur 3D DotNet


Sujet :

Moteurs 3D

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 62
    Par défaut [Recherche] Moteur 3D DotNet
    Bien le bonjour à vous communauté de programmeur !

    J'ai en tête un petit proget de jeu et c'est pour cela que j'aurai besoin de vos lumières.

    ce que je veux:

    - un moteur 3D ( sans blague ... ) si possible programmable en DotNet

    - un rendu DX9 correct permettant d'ajouter quelques effet mais sans prétention

    - permet une partie de programmation réseau (je suis admin réseau)

    - je ne mis connai que peu en prog je fait actuellement quelques petits scripts en vb.net / C# mais sa s'arrête la.

    - De la docs !!! de la vrai !!!

    - lisence free non commercial ou GPL ( j'ai pas les sous pour ).

    j'ai beau chercher avec mon pote google je n'arrive pas a trouver quelque chose de concret avec de la vrai docs et un résultat.

    dite moi se que vous connaissait et vos impressions.

    Merci à tous !

    Khorn.

  2. #2
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 820
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 820
    Par défaut
    Salut,

    Tu peux peut-être voir avec ShadowTzu, il est en train d'en faire un...

    Des infos sur ce post, ou directement sur le site
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 62
    Par défaut
    plegat

    Merci de ta réponse.

    Effectivement je suis de près sont avancement mais malheuresement il ne distribue pas sont moteur pour le moment il me semble ?

    et il n'as pas fait de doc donc je ne peut pas deviner les commandes etc ...

    ceci dit je v voir pour lui demander sur le forum de sont site.

    Merci encore.

    si vous avez d'autre proposition n'hésiter pas !

    Khorn.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 62
    Par défaut
    vivi ...

    mais je trouve que sa manque de doc la plus part du temps.

    enfin je trouve ...

  6. #6
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Par défaut
    est ce que tu cherche :
    - un moteur utilisable en C#
    - un moteur entièrement réalisé en C#

    si c'est la premier point, tu pourra certainement utiliser quelques moteurs connus genre Ogre ou irrlicht.
    Par contre, si c'est le deuxieme cas, la ça va devenir nettement plus compliqué
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  7. #7
    Membre expérimenté Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Par défaut
    Bonjour,
    Réalisant (ainsi que ma signature peut le suggérer) un wrapper .NET d'Irrlicht, je me permet d'intervenir pour répondre.

    - un moteur 3D ( sans blague ... ) si possible programmable en DotNet
    Inutile de présenter Irrlicht (qui, bien que parfois joliement critiqué, reste l'un des moteurs libres les plus célèbres et l'un des plus utilisés).

    - un rendu DX9 correct permettant d'ajouter quelques effet mais sans prétention
    Irrlicht est connu pour être le moteur open source le plus simple d'accès. Il supporte DX8, DX9, OpenGL, ainsi que deux rendus softwares (plus des gadgets cependants). Sans oublier qu'il est déjà "livré" avec quelques effets déjà faits (du genre de l'eau dynamique relativement pas belle ou autres).

    - permet une partie de programmation réseau (je suis admin réseau)
    Là je ne comprend pas trop. Si tu attends que le moteur possède une surcouche pour gérer le réseau, alors ce n'est plus un moteur 3D mais un moteur de jeu. Si tu demande si il t'autorise à faire du réseau à côté, alors je pense pouvoir dire sans trop m'avancer que n'importe quel moteur te laisse le faire.

    - je ne mis connai que peu en prog je fait actuellement quelques petits scripts en vb.net / C# mais sa s'arrête la.
    Là, il n'y a rien à répondre en fait.

    - De la docs !!! de la vrai !!!
    (mon dieu j'ai l'impression de rédiger une pub pour un logiciel) Irrlicht reste -à mes yeux très subjectifs- le moteur le plus documenté et le plus simple d'accès.

    - lisence free non commercial ou GPL ( j'ai pas les sous pour ).
    zlib/libpng... Ce qui veut dire que tu peux le modifier, l'utiliser, l'ajuster, faire ce que tu veux avec sans avoir à rendre un quelconque compte (il est juste préférable de citer la source et est interdit de dire que tu as créé le logiciel de base) et idem pour les deux wrappers.

    Bon maintenant, après avoir parlé d'Irrlicht il est temps de parler des portages :
    -Le portage officiel : couvre à peu près 60% du moteur, archi bien documenté, bourré de gens pour t'aider et possède beaucoup de tutoriels.
    -Mon wrapper : couvre 95% du moteur (dans les quelques mois qui suivraient, on devrait atteindre le 99% facilement), des fonctionnalités qu'on ne trouve pas dans Irrlicht, mais peut-être moins accessible car la communauté est encore légère (le wrapper a 2 mois à peine). Sans oublier un aspect très important (si tu n'utilise pas DirectX bien sûr) : un logiciel créé avec le wrapper tournera de la même manière sous Linux ou MacOS (avec le projet Mono) car c'est dans cette optique que je l'ai créé, et ce sans recompiler sous Linux ou ajouter des centaines de dll à ton projet.

    Liens en vrac :
    -Irrlicht
    -Irrlicht .NET Cross-Platform (mon wrapper)
    -Irrlicht# (projet de portage en pur .NET trop peu avancé pour l'instant)
    -NXEngine - Splendide moteur DirectX en pur .NET, hélas aucun port OpenGL pour l'instant
    -OgreDotNet, je n'aime pas la manière dont ce projet a été fait mais il reste le wrapper d'une des librairies les plus connues

    N'hésite pas à me demander des précisions si besoin est. Ce n'est pas une liste exhaustive mais un petit "best-of" à mes yeux.

    PS : Je semble peut-être excessivement élogieux pour Irrlicht mais j'ai eu l'occasion de tester des tonnes de moteurs et mis à part le NXEngine (qui est encore jeune), je n'ai encore trouvé aucun sérieux moteur .NET (et aucun moteur complet en .NET et multiplateforme).

    PPS : Si en réalité, il existe OgreDotNet mais j'ai eu des tas de messages de personnes me disant que c'est un vrai bazar et qu'on ne s'y retrouve pas, principalement car ils ont refusé de coler à l'API de base.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 62
    Par défaut
    DeusXL

    Merci pour ta réponse très constructive.

    Je me document sur Irrlicht grace au lien que tu as laissé ici.

    effectivement ce moteur pourrai correspondre à mes attente ceci dit, tu dit faire un warpper de Irrlicht en .net et tu en est déja à 95% de ta tâche.

    Pourquoi le projet .Net de Irrlicht ( Irrlicht.net ) est si peu avancé par rapport à ton projet qui n'as "que deux semaine" ?

    Peu de gens boss dessus ? se n'est pas un warpper ? je ne vois pas trop se qu'est un warpper ?

    peu tu m'en dire plus !

    Merci.

  9. #9
    Membre expérimenté Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Par défaut
    Bonjour,

    En effet ton étonnement n'est pas le premier, d'ailleurs, il m'a fallu attendre 3 bonnes semaines pour que les gens comprennent que ce n'était pas une blague et que ça m'avait vraiment pris peu de temps.

    A cela plusieurs raisons évidentes :
    -La personne qui fait le wrapper official n'est autre que Nikolaus Gebhardt, le même qui fait Irrlicht, le même qui fait irrEdit... Il a beaucoup de travail et s'en est rajouté encore plus avec Irrlicht .NET. Alors que moi, quand j'ai commencé le wrapper, j'y ai passé parfois des séances de 8-9 heures d'affilées.
    -Si Nikolaus aime bien (je cite) la philosophie .NET, il a commencé son travail sans réellement bien connaître la chose alors que moi, je travaille dessus depuis un sacré bout de temps déjà et donc j'ai plus l'habitude.
    -Complétant ce dernier point, il faut savoir que j'avais déjà travaillé sur ce type de wrapper lorsque j'ai modifié (de mon côté, pour des tests) le wrapper de la librairie FMOD, donc forcémment, j'avais l'habitude du P/Invoke et je n'ai pas eu vraiment à me "documenter" à ce sujet.
    -Complétant aussi ces deux derniers points, je ne pense pas que le Irrlicht.NET officiel ait été fait à la base pour tenir le succès qu'il allait avoir. En fait, il a des énormes lacunes d'architectures qui non seulement rendent impossibles certaines parties d'Irrlicht, mais en plus rendent plus dur le travail dessus, alors que sur mon wrapper, dès le début j'ai pensé une architecture très simple et extensible (ce qui m'a apporté l'aide de beaucoup de personnes après), et ça va en s'améliorant avec les versions. Maintenant, le wrapper officiel d'Irrlicht nécessiterait une réécriture complète pour tenir compte de ces problèmes d'architecture.

    Alors niveau terminologie .NET (ou équivalents) :
    -Un wrapper est une librairie qui utilise la fonction de base et fait appel à elle. Donc Irrlicht.NET (officiel et CP) sont deux wrappers puisque tu as besoin des dlls d'Irrlicht pour les faire tourner (ce n'est pas une contrainte lourde du tout mais c'est d'un point de vue architecture que ça compte).
    Concrètement, un wrapper ce n'est qu'une manière d'exécuter du code natif dans du code managed. Pour faire court, il existe deux techniques pour "wrapper" en .NET :
    -C++/CLI, le plus recommandé par Microsoft, en général on l'utilise pour les trucs complexes. Ses avantages sont sa simplicité et globalement la rapidité car il ne nécessite pas de projet intermédiaire. Désavantages : Il n'est pas cross-platform (Mono ne supporte ni le code natif ni le C++/CLI) et il faut faire très très attention à la libération de la mémoire native. Un bon exemple est le wrapper d'Irrlicht officiel qui utilise cette technique.
    -P/Invoke, consiste à appeler une librairie basique, codée en C (enfin qui se résume à une liste de fonction en réalité). Avantages : Cross-Platform, plus "souple" et fourni en prime un wrapper en C (le nom de mon wrapper d'Irrlicht en C est "IrrlichtW"). Désavantages : Beaucoup plus lourd, on a besoin d'un wrapper C++=>C et d'un wrapper C=>.NET. Exemple : wrapper FMOD, Irrlicht .NET CP, OgreDotNet.
    Ensuite, il y a les port (j'utilise les mots anglais), qui sont des réécritures totale de l'API dans un langage .NET. Concrètement c'est énormément de boulot et on dit souvent (je ne suis pas spécialement d'accord mais je refuse de faire un troll) que c'est plus lent. Deux bons exemples sont Irrlicht# et Axiom (ports respectifs d'Irrlicht et d'Ogre).

    Voilà, je m'excuse d'avoir fait un post si long qui dérive du sujet de ce forum (il devrait être section .NET) mais comme les terminologies "ports" et "wrappers" sont employées un peu partout et pas forcémment bien, il fallait clarifier la chose

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 62
    Par défaut
    DeusXL

    Encore merci pour cette réponse bien construite.

    Je vais aller voir de ce pas ton travail dans ce cas.
    existe t'il de la doc en français même si je sais que les frenchy sont si peu nombreux par rapport au autres interréssé de ce projet.

    Cordialement,

    Khorn.

  11. #11
    Membre expérimenté Avatar de DeusXL
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 300
    Par défaut
    Non, pas de doc en français, ce n'est pas que je n'aime pas la langue mais tout simplement que rédiger en deux langues est un travail colossal pour au final peu de personnes intéressées, par contre, rien ne t'empêche de poser tes questions en français sur le forum "Foreign Languages" du wrapper

    De plus, pour l'instant, le wrapper n'est qu'une version .NET d'Irrlicht donc même sur la doc je n'ai pas mis le paquet quand on sait que la doc d'Irrlicht est archi archi complète (et fonctionne très bien avec Irrlicht .NET CP). (j'insiste cependant sur le "pour l'instant" car peut-être que le wrapper pourrait devenir un Game Development Kit complet dans le futur).

Discussions similaires

  1. Recherche moteur 3D
    Par Xecuter dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 07/03/2008, 16h24
  2. Réponses: 7
    Dernier message: 31/07/2007, 14h28
  3. Recherche Moteur 2D sur HP unix?
    Par patmaba dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 18/04/2006, 00h52
  4. Recherche moteur et langage pour jeux
    Par elitost dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 15/03/2005, 13h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo