IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

[opengl] [newbie] terrain


Sujet :

OpenGL

  1. #1
    Membre du Club
    Inscrit en
    Février 2003
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 130
    Points : 66
    Points
    66
    Par défaut [opengl] [newbie] terrain
    salut,

    une petite question avec opengl
    Voila je voudrait creer un terrain dans lequel on va pouvoir se deplacer.
    Je voulais savoir de quel facon il faut concevoir ce genre de chose.
    Est-ce que on crée qqchose "d'infini" (un terrain dont on ne verrait jamais la fin), ou alors est-ce que je dois creer une surface predefini, et en ajouter une nouvelle lorsque je quitte la precedante
    J'ai bien regarder plusieur tutos, mais soit j'ai pas vu les bons, soit j'ai pas compris !

    merci

  2. #2
    mat.M
    Invité(e)
    Par défaut
    il ya un forum Open GL SPECIFIQUE alors poser cette question dans le bon forum où on sera susceptible de recueillir plus de réponses.
    un terrain indéfini je ne pense pas que cela existe en plus ça risque de demander bcp de ressources matérielles ( CPU et RAM ).
    Ne pas oublier que tout ce qui est graphismes , surtout la 3D comme Open GL ou Direct X voire le GDI cela "pompe".
    Le mieux c'est de créer un "mesh" avec un logiciel de 3d comme 3Ds Max , Blender ( s'il exporte des fichiers .3ds ) ou des générateurs de paysages comme Bryce , Vue d'Esprit.
    En tout cas c'est la méthode que je choisirais ;
    Après il faut contraindre le joueur à ne pas sortir des limites ou bien charger un autre terrain ( une autre "mesh" au format .3ds par exemple )

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Il y a des techniques de génération de terrain aléatoire. Pas besoins de faire un modéle préalable.

    Pour que le terrain soit infini, ce n'est pas bien compliqué. Il suffit de divisé le plan en cases. On calcul et on charge toutes les cases voisines et on décharges les cases les plus éloignée. On refait cette opération à chaque fois que la vue change de case.

  4. #4
    Membre du Club
    Inscrit en
    Février 2003
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 130
    Points : 66
    Points
    66
    Par défaut
    OK merci Selenite, je me sens plus eclairé maintenant

    Heu mat.M.... merci, grace à toi je viens de decouvrir qu'il y avait un forum OpenGL (p....., ca m'as pris presque trois ans, )

  5. #5
    mat.M
    Invité(e)
    Par défaut
    Il y a des techniques de génération de terrain aléatoire. Pas besoins de faire un modéle préalable.
    oui je n'y ai pas pensé mais le problème c'est que ça ne donne pas des terrains réalistes, plutôt des résultats décevants.
    Sinon il faut recourir aux fractales ce qui est un peu compliqué à mettre en oeuvre.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Citation Envoyé par mat.M
    oui je n'y ai pas pensé mais le problème c'est que ça ne donne pas des terrains réalistes, plutôt des résultats décevants.
    Sinon il faut recourir aux fractales ce qui est un peu compliqué à mettre en oeuvre.

    Bien sûr, le bon final vient avec la qualité de l'algorithme. Et un bon algorithme n'est pas forcément simple à mettre en oeuvre.

    Si on arrive pas à implémenter un bon algo, on peut toujours se rabattre sur un terrain cyclique. C'est à dire que au lieu de générer une nouvelle case à chaque fois, on prend le même motif et on se débrouille pour que les limites entre les cases ne se voient pas.

  7. #7
    Membre habitué
    Profil pro
    Enculeur de mouches
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Enculeur de mouches

    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Points : 161
    Points
    161
    Par défaut
    Citation Envoyé par Selenite
    Pour que le terrain soit infini, ce n'est pas bien compliqué. Il suffit de divisé le plan en cases. [...]
    Pas d'ak : un terrain infini demande un nombre infini de données, à moins d'être cyclique comme tu le décris dans le mess précédent.
    Juste pour le pinaillage 8)

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Citation Envoyé par SKZ81
    Citation Envoyé par Selenite
    Pour que le terrain soit infini, ce n'est pas bien compliqué. Il suffit de divisé le plan en cases. [...]
    Pas d'ak : un terrain infini demande un nombre infini de données, à moins d'être cyclique comme tu le décris dans le mess précédent.
    Juste pour le pinaillage 8)
    Pas forcément. Il n'est pas infini à un instant T donné, mais ce sera bien l'impression que l'utilisateur aura. Et pas besoin d'être cyclique si on le génère à la volée.

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Août 2003
    Messages
    247
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 247
    Points : 276
    Points
    276
    Par défaut
    Citation Envoyé par SKZ81
    Citation Envoyé par Selenite
    Pour que le terrain soit infini, ce n'est pas bien compliqué. Il suffit de divisé le plan en cases. [...]
    Pas d'ak : un terrain infini demande un nombre infini de données, à moins d'être cyclique comme tu le décris dans le mess précédent.
    Juste pour le pinaillage 8)

    Loulou24 à répondu à ma place (merci à lui ;-) ), j'ajouterais que j'ai pris bien soin de mettre "infini" en italique pour montrer que je fesais référence au vocabulaire de l'initiateur du post .

  10. #10
    Membre habitué Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Points : 146
    Points
    146
    Par défaut
    Perso j'ai construit un terrain à partir d'un algo de fractales et ca ne m'a pris qu'un ou deux jours à finir. Ca m'a plutot paru assez facile à mettre en oeuvre. Après ya toujours deux trois trucs à fignoler évidemment ..

    Voilà le résultat pour l'instant ici. Bon courage

  11. #11
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    pas forcement besoin d'utiliser des fractals, la plus part du temp, du bruit de perlin suffit pour generer un terrain acceptable...

  12. #12
    Membre averti Avatar de venomelektro
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    521
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2004
    Messages : 521
    Points : 316
    Points
    316
    Par défaut
    Citation Envoyé par bafman
    pas forcement besoin d'utiliser des fractals, la plus part du temp, du bruit de perlin suffit pour generer un terrain acceptable...
    Le perlin noise est pas mal pour ce genre de chose

    la methode c de creer une texture 2d en niveau de gris a partir d un algo de perlin noise , puis de generer une height map a partir de cette image

    pour faire un terrain infini il faut un algo de perlin noise qui "tile" , plus d info la dessus au bas de cette page (Seamlessly tiling noise)

    http://www.robo-murito.net/code/perlin-noise-math-faq.html

Discussions similaires

  1. Multitexturing opengl glsl grand terrain
    Par kokarez dans le forum OpenGL
    Réponses: 3
    Dernier message: 25/11/2010, 12h29
  2. [Logiciel] Modelisateur 3D terrain compatible OpenGL
    Par FunkySayu dans le forum Apple
    Réponses: 0
    Dernier message: 22/02/2010, 23h42
  3. [Opengl] Utiliser des terrains + déformation in-game
    Par Froyok dans le forum Moteurs 3D
    Réponses: 4
    Dernier message: 20/04/2009, 08h36
  4. Réponses: 10
    Dernier message: 21/01/2007, 01h04
  5. [Tuto] [OpenGL] Afficher un terrain avec un fichier RAW
    Par Bakura dans le forum Contribuez
    Réponses: 1
    Dernier message: 05/09/2006, 20h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo