Heightmap opengl

Description

Utilisez les flèches pour vous déplacer. Si ça ne marche pas chez vous essayez de recompiler (il vous faudra GLUT et OpenGL, que vous pouvez trouver à http://site.voila.fr/allbrain/dev.zip si vous utilisez Dev-C++ ou http://site.voila.fr/allbrain/VisualC.zip si vous utilisez Visual C++)


C'est un système de heightmaps; le principe, c'est qu'à partir d'une image 2D en niveaux de gris, on en ressort un terrain, où les points les plus hauts correspondent aux points les plus foncés de l'image 2D.
Si je suis pas clair, regardez heightmap.bmp et le résultat de HeightMap.exe, et comparez...;)

J'ai créé mon propre format de heightmaps, le HMAP. En fait, il est composé comme ça :
-le 1er octet renseigne sur l'endroit où débutent les données de la map
-les 4 octets qui suivent représentent, en little endian, la largeur et la hauteur de la map
-après on a le nom du fichier TGA associé à la heightmap, qui lui sert de texture
-enfin, il y a les données proprement dites. Chaque pixel est codé par 1 seul octet et le tout est compressé en RLE (mêmes conventions que pour le format TGA).

Pour enregister en HMAP il faut utiliser Alpha Edit à partir de la version 3.1. Si vous voulez créer vos propres heightmaps donc, c'est là : http://www.cppfrance.com/code.aspx?ID=24551
(J'ai pas pu mettre l'exe d'Alpha Edit dans le zip c'était trop gros :( )

Source / Exemple :


Dans le zip

Conclusion :


Remerciements à cppdupdup34 pour m'avoir longuement expliqué (j'ai mis longtemps à comprendre :p) comment est-ce qu'on fait pour faire un déplacement de la caméra "à la doom-like". En fait ce code est un morceau du code d'un jeu qu'on est en train de vous préparer :)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.