Historique des modifications - Message

Message #11426

Sujet: Appliquer une Heightmap sur une sphère


Type Date Auteur Contenu
Création du message 27-10-2013 23:23:16 Magun
tu doit stocker un CSphericalTerrain et non un ISceneNode pour pouvoire acceder au définition spécifique
sinon tu fait un cast

((CSphericalTerrain*)node)->setMaxHeight(2.0f);

malheureusement tu ne pourras surment pas atteindre le même niveaux que proland donne avec CSphericalTerrain,
proland utilise un quad-tree lod qui lui permet de supprimer les parti non visible du rendue,
et de modifier en temps réelle le niveaux de détail affin d'exclure un maximum de polygonne
mais respectant au maximum le relief suivant la distance

par contre rien ne tempeche d'utiliser proland au seins d'irrlicht si tu limitte ton application a opengl

pour ce qui est de la récuparation des données [x,y] de la heightmap regarde du coter ITexture
les deux fonctions lock/unlock sont présente pour récupéré le pointeur vers le tableaux de la texture interne
le format d'access respect:

irr::u8 *buffer; // size texture->getPitch()
buffer = data[y*width+x*texture->getPitch()];
(si mais souvenir sont bon)

le nombre de composant de la texture correspond au nombre de valuer nécéssaire a la representation d'un texel
défini par ECOLOR_FORMAT

pour ce qui est des points de la sphere tu doit passer par IMesh
tu itères sur chaque IMeshBuffer qu'il contient
et tu passe par getVertex()
suivant getVertexType() la taille different et la donner sont differents
tu fait un bête cast comme mentionner dans la doc

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