Historique des modifications - Message

Message #4549

Sujet: probleme lumiere sous Irrlicht avec une image 3ds


TypeDateAuteurContenu
Création du message23-09-2008 18:26:28dayatch22
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

OptionsLiens officielsCaractéristiquesStatistiquesCommunauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1441 sujets
11339 messages
Dernier membre inscrit: Saidov17
121 invités en ligne
membre en ligne: -
RSS Feed