Historique des modifications - Message

Message #4549

Sujet: probleme lumiere sous Irrlicht avec une image 3ds


Type Date Auteur Contenu
Création du message 23-09-2008 18:26:28 dayatch22
Bonjour à tous,

J'ecris ce sujet car j'ai un souci avec mon programme. J'utilise une image .3ds deja texturé et éclairé (je crois). Mais toutes les formes en noir avec ma lumière ambiante. Et lorsque je tente une lumière diffuse les formes s'affichent en bleu pour celles qui sont à la lumiere, voici mon code:

#include "Graphics_engine.h"
using namespace irr;

Graphics_engine::Graphics_engine(){
 //Cette ligne va créer un contexte d'affichage OpenGL
    IrrlichtDevice *device = createDevice (video::EDT_OPENGL, core::dimension2d<s32>(800,600),32,true,true,false,0);
    //On associe un driver à la fenêtre
    video::IVideoDriver* driver = device->getVideoDriver ();
    //Et on crée un gestionnaire de scène (scenegraph)
    scene::ISceneManager *scenegraph = device->getSceneManager ();
    device->getCursorControl()->setVisible(false);

 
    // // // // La caméra // // // //
    scene::ICameraSceneNode *camera = scenegraph->addCameraSceneNodeFPS (0,80.0f,100.0f);
    camera->setPosition(core::vector3df(10.0, 50.0, -50.0));
  
 
    // // // // la salle // // // //
    scene::IAnimatedMesh *room = scenegraph->getMesh("florence.3ds");
   
    scene::IMeshSceneNode *Nroom = scenegraph->addMeshSceneNode(room->getMesh(0));
    Nroom->setMaterialFlag(video::EMF_LIGHTING, true);
 
   // On applique une texture à la salle.
    scenegraph->getMeshManipulator()->makePlanarTextureMapping(
      room->getMesh(0), 0.004f);
    Nroom->setMaterialTexture( 0, driver->getTexture("rockwall.bmp") );
   
 
    // // // // la lumière // // // //
   scenegraph->setAmbientLight(video::SColorf(1.0, 1.0, 1.0,30.0));
  //  scenegraph->addLightSceneNode (0, core::vector3df(0,0,0), video::SColorf(0.4f,0.4f,0.6f,0.0f), 100000.0f);

    
    
 
 
                                        
//}
//void Graphics_engine::run(){
          isrun=true;
              while (device->run ())
    {
        //On indique qu'on démarre la scène
        driver->beginScene (true, true, video::SColor (255,255,255,255));
        //On calcule le rendu
        scenegraph->drawAll ();
        //On affiche le rendu à l'écran
        driver->endScene ();
    }
}

merci d'avance j'ai au préalable cherché un sujet deja édité qui puisse m'aider mais je n'ai rien trouvé

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
156 invités en ligne
membre en ligne: -
RSS Feed