#1 

09-05-2012 16:34:27

_Fender_
Membres
Date d'inscription:
Messages: 1
IP: 90.16.18.187
Courriel  Site web

Bonjour à tous,

Dans le cadre d'un projet, je cherche à réaliser un éditeur de terrain sous Irrlicht. Donc j'utilise un ITerrainSceneNode pour charger une heightmap vierge (terrain plat), et le but est de pouvoir élever/abaisser des morceaux de terrain. Le problème est que après avoir fouillé dans la documentation, je n'ai pas trouvé de méthode qui permette de modifier l'altitude d'un point du ITerrainSceneNode.

Nous (l'équipe du projet wink ) n'avons trouvé pour cela que deux solutions mais elles présentent leurs inconvénients, voila pourquoi je poste sur ce forum afin d'espérer trouver de l'aide.

  • La première solution était d'éditer directement la heightmap mais cela suppose de la recharger en entier à chaque modification... (trop lourd ?)
  • La deuxième était de ne pas utiliser ITerrainSceneNode ce qui suppose de recréer nous mêmes un système de gestion de terrain dynamique. Donc voila si on pouvait éviter celle-ci, ça serait cool. ^^



Avez vous des idées ?

Merci d'avance ! smile


Hors ligne


#2 

10-05-2012 19:49:00

johnplayer
Membres
Avatar de johnplayer
Date d'inscription:
Messages: 431
IP: 83.192.88.188
Courriel

Utilise directement les buffers.
Tu fais ton propre terrain dérivé de ISceneNode puis tu y intègre ta gestion et ton rendu de ton buffer. Comme ça, pour modifier le terrain tu modifies la hauteur de tes vertex directement dans le buffer.
Pour l'enregistrement de ton heightmap, tu récupères les hauteurs de tes vertex dans le vertexbuffer et irrlicht possède déjà ce qu'il faut pour enregistrer des fichiers.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#3 

12-05-2012 07:09:34

johnplayer
Membres
Avatar de johnplayer
Date d'inscription:
Messages: 431
IP: 83.192.88.188
Courriel

Remarque tu peux tout simplement dérivé ITerrainSceneNode pour ne pas tout recoder. Mais aumoins tu pourras ajouter tes propres méthodes.


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


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