#0 

11-05-2007 00:44:10

loic19871
Petit nouveau
Date d'inscription: 04-03-2007
Messages: 3

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 :

Code:

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


#1 

11-05-2007 07:33:52

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

À 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.


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#2 

11-05-2007 08:04:38

loic19871
Petit nouveau
Date d'inscription: 04-03-2007
Messages: 3

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


#3 

11-05-2007 08:47:02

DeusXL
Abonné
Lieu: Paris
Date d'inscription: 27-09-2006
Messages: 174

Prends la version SVN d'Irrlicht .NET CP (la 0.8, qui sortira bientôt en release).


Fanatique d'Irrlicht + Fanatique de Mono + Fanatique de Linux => Créateur d'Irrlicht .NET CP bien sûr !
Version actuelle d'Irrlicht .NET CP : 0.8, Version en test : 0.9.

Hors ligne


#4 

11-05-2007 08:49:30

loic19871
Petit nouveau
Date d'inscription: 04-03-2007
Messages: 3

Ok je vais essayer ça dès que j'aurai un peu plus le temps.
Merci pour la réponse.

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
881 membres
1427 sujets
11117 messages
Dernier membre inscrit: Bidule
16 invités en ligne
Aucun membre connecté
RSS Feed