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 :

Quel moteur 3D en dotnet ?


Sujet :

Moteurs 3D

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 585
    Points : 1 139
    Points
    1 139
    Par défaut Quel moteur 3D en dotnet ?
    Bonjour à tous.
    Je cherche un moteur 3D utilisable sans trop de difficultés en dotnet.
    • J'avais testé Brune dans le temps, mais il n'y a pas eu de mise à jour depuis des lustres.
    • J'ai testé Mogre mais je l'ai abandonné: ce n'est pas sérieux de demander l'installation de 250 bibliothèques diverses à télécharger aux quatre coins du net pour faire fonctionner un petit bout de programme que je veux seulement déployer sur 2 ou 3 pc !
    • J'ai testé IrrlichtNET CP mais il manque une quantité importante de choses par rapport à la doc C++ , ou bien elles ne sont pas placées au même endroit (différence de version ?), et il n'y a pas de doc valable.
    Il faut dire que la doc est souvent (très) en retard par rapport aux versions...
    Le site devmaster donne plein d'exemples, même quand on selectionne C# par exemple, dont la plupart ne sont pas à jour depuis 2007..
    Bref, qu'est-ce qui existe, qui est un rien documenté et qui pourrait servir à fair un minimum (pas des choses trop compliquées) ?
    Je précise que j'ai déjà bricolé en ManagedDirectX et en OpenGL, que c'était très bien et très intéressant, mais que ça ne m'intéresse plus
    Merci.
    L'avis publié ci-dessus est mien et ne reflète pas obligatoirement celui de mon entreprise.

  2. #2
    Membre actif Avatar de ShadowTzu
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 296
    Points
    296
    Par défaut
    Bonjour,
    Il y a mon moteur: Tzu3D développez en vb.net, malheureusement je n'ai fait que très peu d'exemple et ils sont en vb.net par manque de temps. Bien que Tzu3D est vraiment très simple à utiliser

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 585
    Points : 1 139
    Points
    1 139
    Par défaut
    Comme j'imaginais recevoir cette réponse, entre autres , je teste la réécriture en C# pour voir ce que ça donne. Et ça donne ça au lancement du tuto1 :
    L'Assistant Débogage managé 'LoaderLock' a détecté un problème dans 'F:\Dev\EssaiTzu3D\EssaiTzu3D\bin\Debug\EssaiTzu3D.vshost.exe'.
    Informations supplémentaires*: La DLL 'C:\WINDOWS\assembly\GAC\Microsoft.DirectX.Direct3D\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.Direct3D.dll' tente une exécution managée dans le verrou du chargeur du système d'exploitation. N'essayez pas d'exécuter du code managé dans une fonction d'initialisation d'image ou DllMain, car cela risque d'entraîner un blocage de l'application.
    Pour le moment je n'y pige rien mais je vais tenter 2 ou 3 trucs...
    A noter que j'ai le choix entre Arrêter (dans ce cas je suis dans le debugger) ou Continuer. Que je continue avec le bouton adhoq ou avec le pas à pas, l'erreur se produit plusieurs fois, puis la fenêtre s'affiche normalement. Quand je la ferme, j'ai à nouveau l'erreur une ou deux fois et je sors normalement.

    Je mets le code ci-dessous, à tout hasard, ce n'est pas très gros.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    using System;
    using System.ComponentModel;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Windows.Forms;
     
    using Tzu_Engine;
    using Tzu_Engine.Graphics;	//Pour TZSprite et TZText
     
    namespace EssaiTzu3D
    {
    	public partial class Form1 : Form
    	{
    		public Form1()
    		{
    			InitializeComponent();
    		}
     
    		//Tzu3D =====================================================
     
    		TZEngine Engine = TZEngine.GetInstance();
    		TZSprite Sprite = null;
    		TZText Texte = null;
     
    		private void Form1_Load(object sender, EventArgs e)
    		{
    			Engine.Init(Handle);
    			Engine.Display_FPS = true;
    			Sprite = new TZSprite();
    			Texte = new TZText("arial", 28, FontStyle.Bold);
     
    			Rendre3D();
    		}
     
    		private void Rendre3D()
    		{
    			Engine.WaitLoad();
    			while (Engine.DoRender)
    			{
    				Application.DoEvents();
    				if (Engine.TestCooperativeLevel())
    				{
    					Engine.Render_Begin();
    					Engine.Render_Clear(Color.BlueViolet);
    					Sprite.Render_Begin(eSpriteFlags.AlphaBlend);
    					Sprite.Draw(new Vector2(150 - 5, 150 - 5), new Vector2(500 + 10, 300 + 10), Color.Black.ToArgb());
    					Sprite.Draw(new Vector2(150, 150), new Vector2(500, 300), Color.Orange.ToArgb());
    					Texte.Write(Sprite, "Coucou tout le monde!", new Vector2(200, 250), Color.White.ToArgb());
    					Sprite.Render_End();
    					Engine.Render_End();
    				}
    			}
    			Engine.Dispose();
    			Application.Exit();
    		}
     
    		private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    		{
    			if (Engine.DoRender)
    			{
    				e.Cancel = true;
    				Engine.Quit();
    			}
    		}
    	}
    }
    L'erreur se produit aux lignes suivantes:
    - au lancement Application.Run(new Form1()) dans Main()
    - à la ligne TZEngine Engine = TZEngine.GetInstance();
    - à la ligne Engine.Init(Handle);
    Puis la fenêtre s'affiche normalement et, quand je clique sur le X pour fermer, l'erreur revient à la ligne Engine.Dispose();
    L'avis publié ci-dessus est mien et ne reflète pas obligatoirement celui de mon entreprise.

  4. #4
    Membre actif Avatar de ShadowTzu
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Juin 2005
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Saône (Franche Comté)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Juin 2005
    Messages : 243
    Points : 296
    Points
    296
    Par défaut
    c'est un probleme du debug de VS, menu:
    Deboguer/exeptions/managed debuging assistants
    et décoche: Loader Lock

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Février 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 943
    Points : 1 156
    Points
    1 156
    Par défaut
    http://unity3d.com/

    Je ne l'ai pas testé mais j'en ai lu beaucoup de bien.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 585
    Points : 1 139
    Points
    1 139
    Par défaut
    Citation Envoyé par ash.ice.loky Voir le message
    http://unity3d.com/
    Je ne l'ai pas testé mais j'en ai lu beaucoup de bien.
    Merci, j'ai jeté un oeil rapide: je ne comprends rien du tout
    Bon, je crois que je vais refermer le sujet et attendre quelques années de voir un vrai moteur 3D en dotnet. Peut-être que je pourrai consacrer ma retraite à m'en servir...
    Je garde quand même un oeil sur Tzu !
    L'avis publié ci-dessus est mien et ne reflète pas obligatoirement celui de mon entreprise.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 14
    Dernier message: 16/06/2015, 11h33
  2. Quel moteur physique choisir
    Par Milanber9999 dans le forum Physique
    Réponses: 22
    Dernier message: 16/04/2007, 18h27
  3. [D7] Quel moteur BD fichier?
    Par fredtheman dans le forum Delphi
    Réponses: 5
    Dernier message: 06/07/2006, 20h34
  4. [Smarty] Quel moteur de template utiliser?
    Par zzman dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 17/06/2006, 18h29
  5. Quel moteur de recherche?
    Par Defrancesco dans le forum Services
    Réponses: 8
    Dernier message: 22/04/2006, 19h45

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