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 !