Pages: 1
Salut,
Je suis en train d'essayer Irrlicht .NET CP parce que j'en ai un peu assez du C++ (la gestion de la mémoire, ça va un moment mais bon ...).
Mon problème est le suivant : j'ai fait un petit modèle 3D avec milkshape 3D et une texture au format PNG. Lorsque je charge le modèle 3D, tout ce passe bien et le modèle apparait bien sur l'écran, mais lorsque je charge la texture rien ne s'affiche (bien que la console affiche "Loaded texture : mas-36.png").
Voici le code en question :
using System; using System.Collections.Generic; using System.Text; using IrrlichtNETCP; namespace testFPS_01 { class Program { static public int Main(string[] args) { // On initialise le moteur 3D IrrlichtDevice device = new IrrlichtDevice(DriverType.OpenGL,new dimension2d(800,600),32,false,false,false,false); // On fait des raccourcis sur le scene manager, le driver vidéo et l'interface SceneManager scene = device.SceneManager; VideoDriver driver = device.VideoDriver; GUIEnvironment guienv = device.GUIEnvironment; // Création d'une caméra CameraSceneNode camera = device.SceneManager.AddCameraSceneNodeFPS(null, 100.0f, 100.0f, false); // On charge le mesh 3D de l'arme AnimatedMesh gunmesh = scene.GetMesh("mas36.ms3d"); AnimatedMeshSceneNode gunnode = scene.AddAnimatedMeshSceneNode(gunmesh); gunnode.SetMaterialFlag(MaterialFlag.Lighting, false); gunnode.SetMaterialTexture(0, driver.GetTexture("mas-36.png")); // Boucle principale du programme int lastFPS, fps; lastFPS = -1; while (device.Run()) { // On mets à jour la scène 3D device.VideoDriver.BeginScene(true, true, new IrrlichtNETCP.Color(0, 120, 102, 136)); device.SceneManager.DrawAll(); device.GUIEnvironment.DrawAll(); device.VideoDriver.EndScene(); // On affiche le nombre de FPS et on mets à jour l'affichage du titre de la fenêtre fps = device.VideoDriver.FPS; if (lastFPS != fps) { device.WindowCaption = "FPStest :: Irrlicht Engine [" + device.VideoDriver.ToString() + "] FPS:" + fps.ToString(); lastFPS = fps; } } // On ferme Irrlicht device.Dispose(); // On quitte en renvoyant un code d'erreur return 0; } } }
Voila, si vous avez des pistes je suis preneur.
Merci d'avance !
Hors ligne
À priori rien de problématique, sûrement un problème de mapping dans ton modèle mais là un modeleur t'en dirait sûrement plus que moi.
Hors ligne
C'est ce que je pensais, mais mon modèle s'ouvre parfaitement dans le mesh viewer en C++ intégré au SDK Irrlicht. Je vais essayer de faire l'équivalent de mon code C# en C++ pour voir si j'ai le même problème.
EDIT : J'ai essayé d'ouvrir mon fichier avec le même code mais en C++ et ça marche parfaitement. Je ne comprends vraiment pas pourquoi ça ne marche pas avec le même code en C#. .NET CP a-t-il des limitations aux niveaux des formats de fichier que Irrlicht n'a pas (mon modèle est au format Milkshape 3d et ma texture en PNG, mais j'ai essayé de la mettre en BMP et mon modèle en .x et ça n'a rien changé).
Ci dessous, quelques captures
mon modèle avec le code en C++
mon modèle avec le code en C#
Voila, si quelqu'un a une idée je le remercie d'avance.
Dernière modification par loic19871 (11-05-2007 08:46:03)
Hors ligne
Prends la version SVN d'Irrlicht .NET CP (la 0.8, qui sortira bientôt en release).
Hors ligne
Ok je vais essayer ça dès que j'aurai un peu plus le temps.
Merci pour la réponse.
Hors ligne
Pages: 1
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 44 invités en ligne Aucun membre connecté RSS Feed |