Historique des modifications - Message

Message #5965

Sujet: Probleme de placement de repère avec une scene


Type Date Auteur Contenu
Création du message 04-02-2009 14:39:05 Djinner
Bonjour à tous, je viens vers vous pour vous demander de l'aide au sujet d'un placement de repère.

Pour créer mon repère j'ai dessiné 3 lignes 3D comme cela (avec des couleurs différentes) :

driver->draw3DLine(core::vector3df(0, 0, 0), core::vector3df(20, 0, 0), video::SColor(0, 255, 0, 0));
driver->draw3DLine(core::vector3df(0, 0, 0), core::vector3df(0, 20, 0), video::SColor(0, 0, 255, 0));
driver->draw3DLine(core::vector3df(0, 0, 0), core::vector3df(0, 0, 20), video::SColor(0, 0, 0, 255));

Auparavant j'ai créé un cube dans un graphe de scène, comme ceci :

IVideoDriver* driver		= device->getVideoDriver();
ISceneManager* scenegraph	= device->getSceneManager();


//Création des éléments de notre graphe de scene
cube1 = scenegraph->addCubeSceneNode(0.5f, scenegraph->getRootSceneNode());
cube1->setPosition(vector3df(5,5,5));

J'ai bien évidement créé une caméra pour visionner ma scène comme ceci :

//Création de la caméra selon un angle précis
ICameraSceneNode* cam = scenegraph->addCameraSceneNode(scenegraph->getRootSceneNode(), core::vector3df(10,10,10), core::vector3df(-5,-5,-5));

La caméra visionne bien comme je veux, tout est bien dessiné (le cube et le repère), le soucis c'est que le cube est au centre du repère... Ce qui ne devrait pas être le cas... Ais-je oublié quelque chose ? Ou est l'erreur ?

Merci d'avance pour votre réponse !



PS : Je vous donne le code de ma boucle while qui run la scene 3D :

while(device->run()){

driver->beginScene(true, true, SColor(255,100,101,140));
scenegraph->drawAll();

//Création de la caméra selon un angle précis
ICameraSceneNode* cam = scenegraph->addCameraSceneNode(0, core::vector3df(x,y,z), core::vector3df(u,v,w));

//On dessine les traits du repere
video::SMaterial m;
m.Lighting = false;
driver->setMaterial(m);

driver->draw3DLine(core::vector3df(0, 0, 0), core::vector3df(20, 0, 0), video::SColor(0, 255, 0, 0));
driver->draw3DLine(core::vector3df(0, 0, 0), core::vector3df(0, 20, 0), video::SColor(0, 0, 255, 0));
driver->draw3DLine(core::vector3df(0, 0, 0), core::vector3df(0, 0, 20), video::SColor(0, 0, 0, 255));
driver->endScene();
}

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
148 invités en ligne
membre en ligne: -
RSS Feed