Retourner au sujet

  Version du 12 September 2010 à 21h 07mn 50s

première chose il vaut mieux utiliser glDrawArrays que glDrawElement plus rapide, et plus orienté VBO ...
deusio tu ne spécifies pas de normale donc il est normal que les faces de ton cube ne soient pas correctement orientées

quand on définit des faces il y a un ordre ( "clock-wise" ou "counter clock-wise" ), et suivant le cas les faces sont tournées d'origine vers l'intérieur("counter...") ou l'extérieur ("clock-wise")

exemple: 'tiré de mon code pour un cube'

clock-wize:

Code c++ :


                    tmp->vertices[0].Pos = core::math::vector3df( size.x/2,-size.y/2, -size.z/2);
                    tmp->vertices[1].Pos = core::math::vector3df(-size.x/2,-size.y/2, -size.z/2);
                    tmp->vertices[2].Pos = core::math::vector3df( size.x/2, size.y/2, -size.z/2);
                    tmp->indices[0].vertex[0] = 3; tmp->indices[0].vertex[1] = 2; tmp->indices[0].vertex[2] = 1;
                    tmp->indices[1].vertex[0] = 0; tmp->indices[1].vertex[1] = 1; tmp->indices[1].vertex[2] = 2;


counter clock-wize:

Code c++ :


                    tmp->vertices[0].Pos = core::math::vector3df( size.x/2,-size.y/2, -size.z/2);
                    tmp->vertices[1].Pos = core::math::vector3df(-size.x/2,-size.y/2, -size.z/2);
                    tmp->vertices[2].Pos = core::math::vector3df( size.x/2, size.y/2, -size.z/2);
                    tmp->indices[0].vertex[0] = 1; tmp->indices[0].vertex[1] = 2; tmp->indices[0].vertex[2] = 3;
                    tmp->indices[1].vertex[0] = 2; tmp->indices[1].vertex[1] = 1; tmp->indices[1].vertex[2] = 0;


bon par contre tu notes que les vertices ne sont pas dans l'ordre donc les indices ... et puis bien sûr tu peux les "décaler"


  Message initiale datant du 10 September 2010 à 15h 29mn 35s

premiere chose il vaut mieux utiliser glDrawArrays que glDrawElement plus rapid, et plus arrienter VBO ...
deusio tu ne spécifie pas de normale donc il est normale que les face de ton cube ne soit pas correctement orienter

quand on définie des faces il y a un ordre ( "clock-wize" ou "counter clock-wize" ), et suivant le cas les face sont tournée d'origine vers l'intérieur("counter...") ou l'extérieur ("clock-wise")

example: 'tiré de mon code pour un cube'

clock-wize:

Code c++ :


                    tmp->vertices[0].Pos = core::math::vector3df( size.x/2,-size.y/2, -size.z/2);
                    tmp->vertices[1].Pos = core::math::vector3df(-size.x/2,-size.y/2, -size.z/2);
                    tmp->vertices[2].Pos = core::math::vector3df( size.x/2, size.y/2, -size.z/2);
                    tmp->indices[0].vertex[0] = 3; tmp->indices[0].vertex[1] = 2; tmp->indices[0].vertex[2] = 1;
                    tmp->indices[1].vertex[0] = 0; tmp->indices[1].vertex[1] = 1; tmp->indices[1].vertex[2] = 2;


counter clock-wize:

Code c++ :


                    tmp->vertices[0].Pos = core::math::vector3df( size.x/2,-size.y/2, -size.z/2);
                    tmp->vertices[1].Pos = core::math::vector3df(-size.x/2,-size.y/2, -size.z/2);
                    tmp->vertices[2].Pos = core::math::vector3df( size.x/2, size.y/2, -size.z/2);
                    tmp->indices[0].vertex[0] = 1; tmp->indices[0].vertex[1] = 2; tmp->indices[0].vertex[2] = 3;
                    tmp->indices[1].vertex[0] = 2; tmp->indices[1].vertex[1] = 1; tmp->indices[1].vertex[2] = 0;


bon par contre tu note que les vertices ne sont pas dans l'ordre donc les indices ... et puis biensur tu peut les "décalées"



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
880 membres
1424 sujets
11113 messages
Dernier membre inscrit: mandrifidy
21 invités en ligne
Aucun membre connecté
RSS Feed