21-01-2007 12:14:05
- monlujeni
- Membres
- Date d'inscription:
- Messages: 3
- IP: 82.225.236.111
- Courriel
Bonjour à tous!
Je débute actuellement en programmation 3D avec Irrlicht. Voici mon problème:
J'utilise une camera FPS dans ma scene, et selon le mouvement ou l'endroit ou elle se place même quand l'objet est entièrement dans le champs, tous les triangles ne s'affichent pas.
Mon objet est un cube à l'écran, et pour cela je me suis inspiré de l'exemple n°3 (customSceneNode). Je défini donc 8 vertices de cette mannière:
Vertices[0] = video::S3DVertex(0,0,0, 0,0,0, video::SColor(255,0,255,255),0,1);
Vertices[1] = video::S3DVertex(0,10,0, 0,0,0,video::SColor(255,255,0,255),1,1);
Vertices[2] = video::S3DVertex(10,0,0, 0,0,0,video::SColor(255,255,255,0),1,0);
Vertices[3] = video::S3DVertex(10,10,0, 0,0,0,video::SColor(255,0,255,0),0,0);
Vertices[4] = video::S3DVertex(0,0,10, 0,0,0,video::SColor(255,0,255,0),0,0);
Vertices[5] = video::S3DVertex(0,10,10, 0,0,0,video::SColor(255,0,255,0),0,0);
Vertices[6] = video::S3DVertex(10,0,10, 0,0,0,video::SColor(255,0,255,0),0,0);
Vertices[7] = video::S3DVertex(10,10,10, 0,0,0,video::SColor(255,0,255,0),0,0);
Ensuite, je crée un tableau d'indices pour l'affichage: (je n'affiche que quatres faces pour l'instant)
u16 indices[] = {0,1,2, 2,1,3,\\
4,5,6, 6,5,7,\\
0,4,2, 2,4,6,\\
2,6,3, 6,3,7};
Et maintenant, le rendu:
driver->setTransform(video::ETS_WORLD, AbsoluteTransformation);
driver->drawIndexedTriangleList(&Vertices[0], 8, &indices[0], 8);
Au niveau du système, je suis sous Mandriva 2007, avec OpenGL 1.2
Je voudrais savoir si c'est normal, ou bien un problème dans mon code.
Merci d'avance.
Hors ligne
21-01-2007 12:19:12
- Aranoth
- Membres

- Date d'inscription:
- Messages: 242
- IP: 83.193.6.118
- Courriel Site web
Je ne suis pas encore assez réveillé pour regarder ça en détail, mais pourquoi n'utilises-tu pas ISceneManager::addCubeSceneNode ?
Hors ligne
21-01-2007 12:29:09
- monlujeni
- Membres
- Date d'inscription:
- Messages: 3
- IP: 82.225.236.111
- Courriel
Bin à terme je voudrais écrire une routine qui affiche n'importe quel objet à six faces, le cube n'est qu'un simple exemple.
Je pense que le problème vient du déplacement de la caméra, car à présent j'arrive à afficher mon cube, mais seulement quand je place la camera correctement.
Hors ligne
21-01-2007 12:35:02
- Copland
- Modérateurs
- Date d'inscription:
- Messages: 657
- IP: 90.5.234.101
- Courriel Site web
Hello,
Je commence à me demander si c'est pas un bug d'irrlicht (1.2 ?) car j'ai noté le même genre de problème...
Essaye en désactivant le backface culling et l'automatic culling pour voir si ça marche pas mieux.
Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.
Hors ligne
21-01-2007 16:01:39
- monlujeni
- Membres
- Date d'inscription:
- Messages: 3
- IP: 82.225.236.111
- Courriel
Non ça ne marche pas mieux, mais si c'est lié au moteur lui même je vois pas vraiment.
En tout cas merci de m'avoir accordé du temps!
A+.
Hors ligne



