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 !

CRÉATION D'UN TERRAIN AVEC OPENGL


Information sur la source

Catégorie :OpenGL Classé sous : terrain, opengl, heightmap, eau, chargeur Niveau : Initié Date de création : 25/10/2006 Date de mise à jour : 05/11/2006 18:45:28 Vu / téléchargé: 12 591 / 1 607

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

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

Description

Cliquez pour voir la capture en taille normale
Bonjour à tous, je mets à votre disposition ce début de moteur 3D en openGL codé avec devC++. Il s'agit d'un terrain chargé à partir d'une heightMap, voici les différents points abordés:

- Création d'une fenetre et gestion des périphériques avec SDL
- Lecture des images TGA
- Loader de texture
- Création d'un terrain à partir d'une heightMap
- Utilisation des vertex buffer
- Mixage de textures en fonction de l'altitude
- Effet de vagues
- Effet de feu (moteur de particules à activer)
- Billboarding pour les arbres
- Musiques avec Fmod

J'ai essayé de mettre quelques commentaires, et des noms de classes et variables assez explicites.

Voila, vous pouvez voir quelques images du jeu ici : www.eplanet.fr/megalopolis/galerie.htm où sont entreposées les images au différentes étapes de la conception.
Vous pouvez télécharger l'executable ici : http://www.eplanet.fr/megalopolis/telecharger.htm


 

Conclusion

Quelques bugs:
- Problème de transparence pour les arbres malgré le tri de profondeur
- Zoom avec la molette de la souris pas très fluide
...

Vous pourrez suivre l'évolution du jeu ici : www.eplanet.fr/megalopolis
 

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

Historique

05 novembre 2006 18:45:28 :
Modification de l'adresse du site : www.eplanet/megalopolis

Commentaires et avis

signaler à un administrateur
Commentaire de eplanet le 25/10/2006 15:45:43

Voila, j'attends vos commentaires avec impatience ! Je suis aussi ouvert à toutes suggestions :-) surtout en ce qui concerne les structures de données et les algorithmes.

signaler à un administrateur
Commentaire de SAKingdom le 25/10/2006 16:14:29

ça a l'air pas mal mais pourrais tu mettre un exe dans le zip pour que l'on puisse tester sans être obligé de tout compiler (c'est plus pratique quand on a pas DevC++ d'installé).

signaler à un administrateur
Commentaire de eplanet le 25/10/2006 16:17:32

Il y a un executable ici : www.eplanet.fr/telecharger.htm

Je ne peux pas le mettre dans le zip car il prend beaucoup trop de place (avec les textures...)

signaler à un administrateur
Commentaire de jmhC le 25/10/2006 18:44:43

et SDL ! Mais à la vue de la copie d'écran celà à l'air pas mal !

signaler à un administrateur
Commentaire de luhtor le 25/10/2006 18:49:11

Je suis moi meme en train de développer un moteur de terrain pour un mmorpg:
http://destinee.dreamoverflow.com/ (petit coup de pub)

donc je suis assez critique sur ton moteur. J'ai peur que tu sois tres vite limité. Peut etre que le jeu sur lequel tu travailles ne demandent pas énormément de chose. Mais il faudrait au minimum ajouter un système de lod, meme rudimentaire. La tu vas etre rapidement limité par la taille du terrain. Dans mon cas, il faut gérer un monde à la WoW, donc au moins une dizaine de km, donc la question du lod ne se posent meme pas: c'est indispensable.

Je pense que le plus efficace aujourd'hui si tu restes accrochés aux heightmaps, c'est d'aller voir le fonctionnement des chunked-lods.

signaler à un administrateur
Commentaire de eplanet le 25/10/2006 19:00:51

Exact :) en fait je suis en train de reprendre ce programme avec directX cette fois-ci, histoire de pouvoir comparer un peu. Je viens de faire un système de chunks qui reste à optimiser mais qui me permet deja de multiplier par 40 la surface du terrain tout en ayant un fps de 300... Donc c'est clair que ca change tout !

signaler à un administrateur
Commentaire de luhtor le 26/10/2006 11:34:40

Mais des que tu utilises les vbos, on a vite fait d'atteindre les performances maximales de la carte. Tu avais 300 de fps avec cb de triangles affichés par frame ? Oublie pas que le frustum-culling, l'occlusion-culling, front-to-back rendering sont autant de techniques qui permettent de gagner en performances; chacune plus ou moins facilement implémentable.

Après, je sais pas a quoi servira ton moteur de terrain, si c'est pour un jeu d'avion ou autre, si tu n'as pas besoin d'avoir une haute précision de texture au sol, ca te facilitera la tache. Dans le cas contraire, ya du boulo :)

signaler à un administrateur
Commentaire de eplanet le 26/10/2006 12:58:18

Sous mon projet actuel (avec DirectX), j'arrive à afficher un terrain de 262 144 triangles (512x512) à 300 fps en utilisant les chunks et le frustrum-culling (et un brouillard qui me permet de ne plus dessiner à partir d'une certaine distance). Je n'ai pas encore mis au point un occlusion-culling qui est un peu plus complexe. Je compte essayer de simuler un comportement grégaire entre différents individus (je n'ai pas encore choisi la race, peut-être des hommes préhistoriques), donc un terrain de 512x512 me parait suffisant, par contre il me faudra un niveau de détail assez élevé. Je vais me pencher sur les vertex et pixel shaders.

signaler à un administrateur
Commentaire de wxccxw le 03/11/2006 12:13:42

je n'aime pas OpenGL mais les resultat sont, je doit l'avouer tres joli

signaler à un administrateur
Commentaire de eplanet le 03/11/2006 20:44:47

Merci :)

signaler à un administrateur
Commentaire de Arnaud16022 le 17/11/2006 15:57:48

Heu ... j'ai un peu peur , là ...
point de vue "- Mixage de textures en fonction de l'altitude"
c'est moi ou tu crées une nouvelle texture par polygone ??

EDIT : ah nan, mais dans ce cas tu crées une unique texture pour toute ta map ?
Je pense qu'un shader ou une texture3D serait plus adapté ...
D/L de la grosse version en cours.

signaler à un administrateur
Commentaire de eplanet le 17/11/2006 17:22:36

Oui, je crée une unique texture pour toute la map. C'est vrai que les shaders permettent de le faire en économisant de la mémoire vidéo, mais j'avais commencé par faire simple :)

signaler à un administrateur
Commentaire de Arnaud16022 le 17/11/2006 19:21:34

ok mais ... elle fait quelle taille cette texture ? 1024 ?

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Deplacement d'un personnage en OpenGL [ par Clercq ] Bonjour a tous,&nbsp;&nbsp;&nbsp;J'ai parcourus les sources de ce site mais je n'ai pas concretement trouv&#233; reponse a ma question, en fait j'ai c [OpenGL] Chute d'eau - Générateur particules d'eau [ par ymerej ] Bonjour &#224; tous,je souhaite r&#233;aliser une chute d'eau (cascade) en OpenGL dans ce style l&#224; : <img src="http://screenshots.softonic.com/s2 Besoin d'Aide en C++/OpenGL pour RTS 3D [ par ionstorm356 ] Bonjour tout le monde, je cherche des programmeurs en C++ (API Windows sans MFC) et OpenGL, motiver pour participer à un VRAI projet de Real Time Stra Discontinuités terrain avec un algo QUADTREE en OPENGL [ par maelwen ] Bonjour, Je travail sur un petit projet (cr&#233;er un terrain en opengl), j'en suis &#224; l'impl&#233;mentation d'une version en quadtree. L'algo m Ou se procurer openGL pour wxWIDGETS [ par satellite34 ] Bonjour,Ma question va peut etre paraitre d&#233;bile, mais je cherche a me procurer openGl pour me mettre (enfin) a la prog graphique;Voila, je suis OpenGL et moteur3D [ par adess00 ] Salut, Je voudrais savoir ce qu est la difference entre un moteur 3D et openGL Je pensai qu un moteur 3D etait un ensemble de fonction qui permet de Probleme avec glut [ par ibiscuss ] bonjour bonjour, alors voila le probleme, je me suis mis a l'opengl il y a peu (en fait j'ai encore presque rien fait tout seul pour le moment je pass texte openGL et SDL [ par vangeurmasker ] Bonjour Je cherche &#224; afficher du texte dans une fen&#234;tre OpenGL g&#233;r&#233;e par SDL. Mon application doit &#234;tre portable sur windows Performance opengl minable [ par luhtor ] Bon je me d&#233;cide a poster ne trouvant pas de r&#233;ponse &#224; un de mes pbs. J'ai voulu tester les performances d'opengl, c'est &#224; dire no problème opengl [ par saprobionte ] bonjour, j'ai un projet &#224; rendre sous peu, et un gros probl&#232;me me bloque sans que je parvienne &#224; trouver une solution viable. Je dois


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

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,437 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é.