Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

AFFICHAGE D'UN TERRAIN AVEC UN CLIPMAP DE VERTEX (OPENGL/WINDOWS/VC++6)


Information sur la source

Catégorie :OpenGL Niveau : Débutant Date de création : 24/03/2005 Vu / téléchargé: 7 515 / 1 321

Note :
8,4 / 10 - par 5 personnes
8,40 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (17)
Ajouter un commentaire et/ou une note

Description

Cliquez pour voir la capture en taille normale
Ce programme a pour but de faire découvrir la technique d'affichage de terrain décrite dans l'article "Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids" (Frank Losasso et Hugues Hoppe).
Vous trouverez ce papier à l'adresse suivante "http://research.microsoft.com/~hoppe/geomclipmap.pdf"
Mon code est juste une présentation très simplifiée de cet algorithme: pas de texture, pas de frustum culling, pas de morphing ...

Le terrain est representé par un ensemble de grilles carrées de même résolution mais de largeur deux fois plus petite que la précédente ( même nombre de points mais espacement moitié moins grand ). Les grilles sont centrées autour de la position de la caméra. Lors d'un déplacement les grilles sont mises à jour. Les grilles sont stockées en mémoire vidéo, à chaque mise à jour seuls les nouveaux sommets sont ajoutés ecrasant les sommets qui ne sont plus dans la grille, les anciens sommets toujours présents ne sont pas déplacés.

Interface:
  - click gauche = rotation
  - click droit  = translation
  - 'w'          = wireframe


 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de patatalo le 24/03/2005 12:23:05 administrateur CS

salut,

j'ai un message Extention "ARB_vertex_buffer_object" non trouvé.

ça vient de mon driver opengl ?

( je suis au boulot et ne peut pas mettre a jour )

@++

signaler à un administrateur
Commentaire de gnoofy120 le 24/03/2005 12:40:32

soit ton driver pas à jour soit ta carte graphique trop vieille, c'est une extension opengl assez récente.

signaler à un administrateur
Commentaire de Kirua le 25/03/2005 09:27:33

si tu as une nVidia, utilise NVemulate pour donner le change en software, mais ça va pê laguer.

signaler à un administrateur
Commentaire de Zazour le 25/03/2005 11:26:02

une gforce 2 suffit pas?
j'ai le message d'erreur.

signaler à un administrateur
Commentaire de gnoofy120 le 25/03/2005 12:58:21

Gforce 2 ça doit être trop vieux. La documentation pour l'extension "ARB_vertex_buffer_object" date de 2003.
J'ai testé sur une 5600 de nvidia et une 9600 de ati.

signaler à un administrateur
Commentaire de dletozeun le 25/03/2005 20:33:49

Sur Geforce4 MX 440 ca marche ( ouf! :p)

Je trouve ca tres interessant je vais me plonger dans la doc de Frank Losasso et Hugues Hoppe!

Pour le relief du terrain tu utilises au depart une une image en niveaux de gris?

signaler à un administrateur
Commentaire de gnoofy120 le 25/03/2005 21:11:59

Non la surface est constituées de patches rectangulaires de bézier de degrés 3. Le fichier elevations.raw contient les points de contrôle de ces patches.

signaler à un administrateur
Commentaire de dletozeun le 26/03/2005 10:49:22

Ah oui! c vraiment super comme technique !

des que l'on met en wireframe on comprend toute de suite le principe! en fait la taille des polygones varie en fonction de la distance a laquelle on est par rapport a celui ci.

signaler à un administrateur
Commentaire de dletozeun le 26/03/2005 10:52:53

mais pourquoi en wireframe ca rame autant ? des que l'on a une vue d'ensemble du terrain ca rame alors qu'au meme point de vue sans le wireframe ca rame pas du tout

signaler à un administrateur
Commentaire de gnoofy120 le 26/03/2005 13:08:09

Le wireframe est toujours très lent quand il y a beaucoup de triangles dessinés, et là il y en a plus de 220 000 par image.

signaler à un administrateur
Commentaire de RaphAstronome le 06/04/2005 21:34:42

Lourd, mais très sympa. 7/10.

signaler à un administrateur
Commentaire de gnoofy120 le 07/04/2005 07:50:36

Hélas je n'ai pas réussi à ecrire le code plus simplement, j'ai pourtant supprimé la gestion des textures et les shaders. Je n'aurais pas du utiliser la mémoire vidéo, le code aurait été plus lisible.

signaler à un administrateur
Commentaire de blotfib le 05/09/2005 12:02:14

Bonjour

je debute en vc6, il n'a pas trouvé
glext.h ???
c'est sur opengl.org ou sur ma distribution de vc 6 ???

merci

signaler à un administrateur
Commentaire de gnoofy120 le 06/09/2005 11:35:10

Les fichiers includes pour les extensions opengl ne sont installés avec vc 6. J'ai récupéré les miens sur un sdk de nvidia, mais il est fort possible que tu les trouve aussi sur opengl.org.

signaler à un administrateur
Commentaire de ewik le 06/09/2005 14:08:49

les fichiers header pour les extensions OpenGL (glext.h, wglext.h et glxext.h) sont sur sgi : http://oss.sgi.com/projects/ogl-sample/registry/
C'est à cette adresse que vous trouverez la version la plus récente de ces fichiers.

signaler à un administrateur
Commentaire de rojbi le 08/06/2006 14:02:51

bonjour,
Excellent comme application;
je voulais demander si vous aviez une version qui marche sous linux?
Votre code permet t il d afficher une texture de 16000*16000 par exemple ? (quel est la limite?
Merci d avance
ps:rojbianis@yahoo.fr

signaler à un administrateur
Commentaire de gnoofy120 le 14/06/2006 09:28:44

Bonjour Rojbi,
Dans mon code il n'y a pas de gestion de texture c'est vraiement une implémentation minimale que j'avais faite pour comprendre le fonctionnement de l'algorithme ( surtout le traitement de la géométrie du terrain ). Cependant dans le papier les auteurs expliquent la gestion de la texture ( sans l'aborder dans les détails ) et il est prévu de pouvoir traiter de grosses textures.
Désolé ce code ne tourne pas sous linux, si je trouve une implémentation de l'algorithme qui tourne sous linux je posterai un lien ici.
++

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.