#0 

21-01-2007 13:14:05

monlujeni
Petit nouveau
Date d'inscription: 21-01-2007
Messages: 3

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


#1 

21-01-2007 13:19:12

Aranoth
Abonné
Lieu: Toulouse
Date d'inscription: 25-09-2006
Messages: 242
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


#2 

21-01-2007 13:29:09

monlujeni
Petit nouveau
Date d'inscription: 21-01-2007
Messages: 3

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.

Dernière modification par monlujeni (21-01-2007 13:29:45)

Hors ligne


#3 

21-01-2007 13:35:02

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
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


#4 

21-01-2007 17:01:39

monlujeni
Petit nouveau
Date d'inscription: 21-01-2007
Messages: 3

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


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
Analysé par
872 membres
1423 sujets
11109 messages
Dernier membre inscrit: Glider
5 invités en ligne
Aucun membre connecté
RSS Feed

[ Générée en 0.019 sec., 10 requêtes exécutées ]