#0 

11-03-2008 19:11:59

firnafin
Abonné
Date d'inscription: 31-03-2007
Messages: 150

voila la ou ca marche pas :

Code:

irr::video::S3DVertex* * data= reinterpret_cast<irr::video::S3DVertex**>(mesh_buffer->getVertices());
for(irr::u16 i=0;i<mesh_buffer->getVertexCount();i++){
            irr::video::S3DVertex* vertex=data[i];
                                                b=vertex->getType();
                                                a=vertex->Pos.X;

        }

il me fait une violation memoire pour la ligne "a=vertex->Pos.X"  alors qu' il ne dit rien sur "b=...."  ( c'est dc que le vertex existe ) .

Aidez moi   !!   smile

Hors ligne


#1 

11-03-2008 21:50:46

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

déjà les reinterpret_cast j'aime pas big_smile.
Non plus sérieusement, dit plutôt ce que tu veux faire exactement avec se code, ça sera plus utile pour t'aider wink.


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#2 

11-03-2008 22:24:08

firnafin
Abonné
Date d'inscription: 31-03-2007
Messages: 150

juste parcourir les vertices d'un mesh buffer c'est tout c _ _ mais il a une  merde de pigeon qui m'echappe et je ne sais pas quoi .
Comment tu fais pour passer d'un void* a un montruc* sans reinterprete_cast  ( IMeshBuffer->getVertices() nous donne un void* ) ?

Dernière modification par firnafin (11-03-2008 22:25:15)

Hors ligne


#3 

12-03-2008 07:46:16

Copland
Modérateur
Lieu: ZarbiLand
Date d'inscription: 22-09-2006
Messages: 657
Site web

En fait c'est tout con, il te suffit de le caster simplement.
Pour l'allocation pas besoin de se prendre la tête tu fais juste :
irr::video::S3DVertex* vertices=(irr::video::S3DVertex*)MonMeshBuffer->getVertices();
après tu fais un :
for(u32 j=0;j<MonMeshBuffer->getVertexCount();++j)
{
vertices[j].Pos.X; //etc smile
}


Config : I5 2400, ATI HD6870 1Go DDR5, 4Go DDR3.
Single Boot : Windows Seven.

Hors ligne


#4 

12-03-2008 10:35:10

firnafin
Abonné
Date d'inscription: 31-03-2007
Messages: 150

Merci, effectivement ca marche mais pas a cause d'avoir casté au lieu de reinterprete_cast,j'avais mal lu la doc :getvertices() donne un tableau non pas de irr::video::S3DVertex* mais une tableau de irr::video::S3DVertex....et dire que j'ai cherché plus d'une heure ...quel boulet je suis .

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
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
120 invités en ligne
Aucun membre connecté
RSS Feed