begin process at 2010 03 21 17:11:41
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

OpenGL

 > CRÉATION D'UN TERRAIN AVEC OPENGL

CRÉATION D'UN TERRAIN AVEC OPENGL


 Information sur la source

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

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :OpenGL Classé sous :terrain, opengl, heightmap, eau, chargeur Niveau :Initié Date de création :25/10/2006 Date de mise à jour :02/02/2010 17:18:53 Vu / téléchargé :14 050 / 1 700

Auteur : eplanet

Ecrire un message privé
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.




 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
...

 Fichier Zip

Les Membres Club peuvent 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
02 février 2010 17:02:13 :
Confidentialité
02 février 2010 17:19:03 :
Légère modification du fichier de présentation

 Sources de la même categorie

Source avec Zip Source avec une capture LEÇON MDL HALF-LIFE OPENGL VISUAL C++ par bobby03
Source avec Zip Source avec une capture SCREENSAVER OPENGL DEV C++ par bobby03
Source avec Zip Source avec une capture LEÇON 13 NEHE EN FRANÇAIS OPENGL DEV C++ par bobby03
Source avec Zip JEU DE DAMES 3D par vbclaude
Source avec Zip CHARGEMENT DES TEXTURES EN OPENGL par Jackyzgood

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LEÇON MDL HALF-LIFE OPENGL VISUAL C++ par bobby03
Source avec Zip Source avec une capture OPENGL SOUS LINUX par xave4552
Source avec Zip Source avec une capture MOTEUR 3D DIMETRIQUE par Mattpbem
Source avec Zip Source avec une capture TERRAIN 3D par rei3
Source avec Zip Source avec une capture PLAN D'EAU [OPENGL] [VISUAL C++] par mat74

Commentaires et avis

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.

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é).

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...)

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 !

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.

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 !

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 :)

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.

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

Commentaire de eplanet le 03/11/2006 20:44:47

Merci :)

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.

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 :)

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 visualisation en openGL [ par Lutin31 ] Bonjour, J'ai un programme en C qui me crée un fichier de données comme ceci : 0 0 7 1 0 -2 2 0 8 3 0 5 etc... Je fais ensuite lire ce fichier dans Installer OpenGl glut dans c++ avec vista [ par Thecheeselover ] Bonjour! [^^happy13] Je suis nouveau sur ce forum et j'aimerais m'initialiser à OpenGl et glut. Naturellement, j'ai un petit problème. J'ai essayé d' diaporama as3 [ par djou12000 ] Bonjour, Je n'ai pas trouvé de codes similaires dans vos tutos, c'est pourquoi je me permets de demander de l'aide... Je suis totalement débutante s Surface Bezier Collision [ par Bestnk ] Bonjour à tous le monde, J'espère que mon topic suscitera des réponses afin de m'aider car là je suis vraiment vraiment vraiment coincé. J'ai crée m simulation d'un bras d'un robot opengl [ par sipmlyme ] salut a tous. si quelqu'un a le code souces de simulation d'un bras d'un robot , je lui serais trés reconnaissante s'il me l'envoit. merci d'avance. OPENGL sprite - glPointParameterfv [ par shorzy ] Salut à Tous J'ai un Problème à l'utilisation de : glPointParameterfv() o Je ne sais pas quel bibliothèque ouvrir Peut être : o Ni quel .Lib Linke


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales