CRÉATION D'UN TERRAIN AVEC OPENGL

eplanet Messages postés 112 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 19 septembre 2007 - 25 oct. 2006 à 15:45
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 - 17 nov. 2006 à 19:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40069-creation-d-un-terrain-avec-opengl

Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
17 nov. 2006 à 19:21
ok mais ... elle fait quelle taille cette texture ? 1024 ?
eplanet Messages postés 112 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 19 septembre 2007
17 nov. 2006 à 17:22
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 :)
Arnaud16022 Messages postés 1329 Date d'inscription vendredi 15 août 2003 Statut Membre Dernière intervention 16 juin 2010 2
17 nov. 2006 à 15:57
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.
eplanet Messages postés 112 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 19 septembre 2007
3 nov. 2006 à 20:44
Merci :)
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
3 nov. 2006 à 12:13
je n'aime pas OpenGL mais les resultat sont, je doit l'avouer tres joli
eplanet Messages postés 112 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 19 septembre 2007
26 oct. 2006 à 12:58
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.
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
26 oct. 2006 à 11:34
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 :)
eplanet Messages postés 112 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 19 septembre 2007
25 oct. 2006 à 19:00
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 !
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
25 oct. 2006 à 18:49
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.
cs_jmhC Messages postés 108 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 10 août 2007
25 oct. 2006 à 18:44
et SDL ! Mais à la vue de la copie d'écran celà à l'air pas mal !
eplanet Messages postés 112 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 19 septembre 2007
25 oct. 2006 à 16:17
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...)
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
25 oct. 2006 à 16:14
ç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é).
eplanet Messages postés 112 Date d'inscription dimanche 6 juin 2004 Statut Membre Dernière intervention 19 septembre 2007
25 oct. 2006 à 15:45
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.
Rejoignez-nous