begin process at 2008 07 05 07:10:15
1 205 055 membres
41 nouveaux aujourd'hui
14 118 membres club

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é: 9 823 / 1 449

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

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

05 novembre 2006 18:45:28 :
Modification de l'adresse du site : www.eplanet/megalopolis
  • 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

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

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

Boutique

Boutique de goodies CodeS-SourceS