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

Projets Discussion :

Présentation de rendu de terrain par Clipmaps


Sujet :

Projets

  1. #21
    Membre averti

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Points : 422
    Points
    422
    Par défaut
    salut

    on peut voir un screenshot du maillage de ton terrain quand tu l'affiches ?

  2. #22
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par acx01b Voir le message
    salut

    on peut voir un screenshot du maillage de ton terrain quand tu l'affiches ?

  3. #23
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640

  4. #24
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Bakura Voir le message
    Au début pour économisé de la mémoire j'avais pensé à envoyer un maillage "allégé" que j'aurai remplie avec des triangles créés dans le géométrie shader.
    J'ai abandonnées car les performance étaient très médiocre. même avec un triangle sur 2

    Si cette extension permet de faire mon idées sans perte de performance, voir du gain, c'est cool

  5. #25
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Effectivement. La plus besoin de passer par le géométrie shader (d'ailleurs je pérvois une mort prochaine des géometry shaders ), tout est généré automatiquement, juste à récuéprer dans le vertex shader.

  6. #26
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Bakura Voir le message
    Effectivement. La plus besoin de passer par le géométrie shader (d'ailleurs je pérvois une mort prochaine des géometry shaders ), tout est généré automatiquement, juste à récuéprer dans le vertex shader.
    Cette extension ne fonctionne pas comme le geometry shader, celui ci est entre le vertex et le fragment alors que l'extension agit avant le vertex shader puisque les nouveau vertex vont dans le vertex shader, d'après ce que tu dis??

  7. #27
    Rédacteur
    Avatar de Bakura
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 386
    Points : 2 640
    Points
    2 640
    Par défaut
    Je ne sais pas comment fonctionne dans l'intérieur cette extension, mais effectivement les informations sont déjà présentes dans le vertex shader, donc j'imagine que cela se fait avant. Le vertex shader exemple est assez clair d'ailleurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    #extension GL_AMD_vertex_shader_tessellator : require
     
    __samplerVertexAMD Vertex;
    __samplerVertexAMD Normal;
    __samplerVertexAMD Texcoord0;
    __samplerVertexAMD Temperature;
    __samplerVertexAMD Pressure;
     
    attribute float myTemperature;
     
    void main ( void )
    {
        gl_Vertex = vec4( 0.0 );
        gl_Normal = vec4( 0.0 );
        gl_MultiTexCoord0 = vec4( 0.0 );
        myTemperature = 0.0;
        float myPressure = 0.0;  // Don't have to interpolate to attribute
     
        for ( int i=0; i<3; i++ )
        {
           float weight = gl_BarycentricCoord[i];
     
           gl_Vertex         += weight*vertexFetchAMD( Vertex,      gl_VertexTriangleIndex[i] );
           gl_Normal         += weight*vertexFetchAMD( Normal,      gl_VertexTriangleIndex[i] );
           gl_MultiTexCoord0 += weight*vertexFetchAMD( Texcoord0,   gl_VertexTriangleIndex[i] );
           myTemperature     += weight*vertexFetchAMD( Temperature, gl_VertexTriangleIndex[i] ).x;
           myPressure        += weight*vertexFetchAMD( Pressure,    gl_VertexTriangleIndex[i] ).x;
     
        }
        // Rest of vertex shader goes here....
    }
    D'après ce que je comprends le __samplerVertexAMD remplace le attribute.

    i o
    |\
    | \
    *--*
    |\ |\
    | \| \
    *--*--*
    |\ |\ |\
    | \| \| \
    j o--*--*--o k

  8. #28
    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
    Citation Envoyé par Syl_20 Voir le message
    Par contre je pensais écrire un article pour developpez.com si des gens sont intéressés pour expliquer les algorithmes utilisés.
    Sans me vanter les algorithmes sont bien plus faciles à mettre a œuvre que des algo comme ROAM et surtout utilisent aucune ressource CPU puisque fonctionnant sur GPU et aussi utilisent peut de ressources mémoire. (seul la carte de hauteur et quelques dizaines de millier de triangles sont en mémoire GPU).
    Bref ça mérite d'être connu.
    + 100 000
    c'est une technique que j'avais vu y'a quelques temps, mais je n'ai jamais trouvé d'explication complète sur comment l'implémenter
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  9. #29
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Citation Envoyé par Syl_20 Voir le message
    J'ai donné comme exemple ROAM car l'ayant tester. Je n'ai pas été enchanté par le résultat. Pourrai tu me donner tes arguments en ça faveur? ça m'intéresse
    Moi ce que j'aime bien dans cet algo c'est que l'on peut avoir une précision infinie (en se débarrassant des problèmes de limitations des flottants (ce qui est facilement faisable)) et en basant le calcul de la hauteur des points sur une méthode mathématique. Après biensûr les performances sont bien moindres mais comme je l'ai dis ce n'est pas le même but. D'ailleurs il doit être très intéressant de mélanger les deux techniques.

  10. #30
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Points : 291
    Points
    291
    Par défaut
    une image de l'avancement du projet avec plusieurs decalmaps différents:


    une autre avec beaucoup plus de decal pour voir si le système tien la route:


    Pour géré mes décalmap j'ai mis en place un système de quadtree dans lequel chacune des cases possède un vecteur de models de decalmap.

    A l'affichage après avoir récupéré la liste des case du quadtree à afficher avec du frustrum culling je fais un trie par rapport a la distance d'affichage, ce qui me permet de géréer mes LOD d'affichage facilement puisque j'ai obtient tout mes objet classées par type et par distance à la camera.

    En gérant l'ordre des models dans les vecteur je pourrai même géré facilement les ordres d'affichages.

  11. #31
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2004
    Messages : 101
    Points : 75
    Points
    75
    Par défaut
    salut,

    j'essaie aussi d'implémenter le géoclipmapping d'après la méthode de gpu gem 2 mais je pige pas trop l'algo utilisé pour le calcul de la hauteur à partir de la texture moins détaillée (y a peu commentaire sur le fonctionnement de l'algo dans l'article et j'ai pas trouvé d'explication sur internet)
    est-ce que tu utilises cet algo aussi ou un autre? est-ce que tu as de la doc dessus?

    merci,
    delfare

  12. #32
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par delfare Voir le message
    salut,

    j'essaie aussi d'implémenter le géoclipmapping d'après la méthode de gpu gem 2 mais je pige pas trop l'algo utilisé pour le calcul de la hauteur à partir de la texture moins détaillée (y a peu commentaire sur le fonctionnement de l'algo dans l'article et j'ai pas trouvé d'explication sur internet)
    est-ce que tu utilises cet algo aussi ou un autre? est-ce que tu as de la doc dessus?

    merci,
    delfare

    L'astuce consiste a afficher les les maillages moins détaillées avec des échelles x2 x4 x8... et dans ton shaders tu prend en compte ce changement d'échelle pour calculer la bonne hauteur.

  13. #33
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Points : 291
    Points
    291
    Par défaut
    Quelques nouvelles sur l'état d'avancement du projet:
    -Système d'ordre d'affichage des décal map.
    -Système de réglage de la distance d'affichage
    -Gestion des LOD des décal map et pour tout les objets graphiques
    -Tous les objets sont stocké dans un QuadTree
    voici les dernières images:


    test avec des objets arbres:



    un Galactic Colossus au milieu d'une foret de 100000 arbres:

  14. #34
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    La monkey ! la monkey ! la monkey !

  15. #35
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par oxyde356 Voir le message
    La monkey ! la monkey ! la monkey !
    Rien que pour toi, une nouvelle image avec la Monkey, le Colosse et pour ne pas faire de jaloux le Fat Boy:


  16. #36
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Cool
    Je suis moi-même entrein de bosser sur un projet de moteur 3D C++/DirectX/LUA pour essayer de faire une sorte de Totala 2 (non je ne me fais pas d'illusions ah peine )
    Fin bref tu fais ton moteur dans quel but ? tu veux faire un jeu, ou c'est juste pour l'entrainement ? si c'est pour faire un terrain à la supcom pourquoi utiliser le geoclipmapping et pas roam justement car là comment tu va faire si la personne veut faire un dezoom total, ça sera pas super précis ?

  17. #37
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par oxyde356 Voir le message
    Cool
    Je suis moi-même en train de bosser sur un projet de moteur 3D C++/DirectX/LUA pour essayer de faire une sorte de Totala 2 (non je ne me fais pas d'illusions ah peine )
    Est ce que tu connais ça: http://springrts.com/
    Totala en 3D dont le code source et tout est libre.
    J'ai l'impression que sur ce forum personne ne connait alors que c'est énorme un moteur de RTS gratuit, libre avec plein de mods qui existe et qui fonctionne plutôt bien et qui a déjà plusieurs années d'existence avec une communauté autour.

    Sinon ou en es tu dans ton projet?

    Citation Envoyé par oxyde356 Voir le message
    Fin bref tu fais ton moteur dans quel but ? tu veux faire un jeu, ou c'est juste pour l'entrainement ?
    Pour l'instant c'est faire un moteur qui tien la route affichant et gérant les paysages
    Il y a encore beaucoup de chose comme géré les ombres, l'eau, et bien sur pour que cela soit exploitable un éditeur de carte.
    L'un des objectif étant bien sur l'entrainement, l'apprentissage, etc

    Après l'idée sera d'en faire quelque chose avec gestion de la physique(Newton Game Dynamic) + une idée de jeu à faire.

    Citation Envoyé par oxyde356 Voir le message
    si c'est pour faire un terrain à la supcom pourquoi utiliser le geoclipmapping et pas roam justement car là comment tu va faire si la personne veut faire un dezoom total, ça sera pas super précis ?
    il n'y a pas de problème, regarde l'image:

    J'ai pas dézoomé plus à cause du fog, on n'aurai vu que du bleu.
    De loin la géométrie est moins précise, mais comme on est plus loin c'est pas grave et la texture + éclairage sont calculés par pixel de la carte de hauteur(précision max), il n'y a donc pas de soucis.
    Je soupçonne d'ailleurs Sup Com d'utiliser un algo de ce genre.

  18. #38
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    J'ai regardais le terrain filaire de supcom (il faut aller dans la console) et ça m'a l'air d'être du roam.
    C'est possible d'avoir la même image en filaire ^^ sinon ça donne plutôt bien en effet mais j'ai quand même peur qu'il ne soit pas adapté pour un terrain et une utilisation à la supcom je ne saurais te dire pourquoi nous verrons bien ^^
    Moi je l'ai commencé il n'y a pas longtemps mon moteur, j'ai fini l'analyse et la je code mais pour l'instant rien d'affichable, j'essaye vraiment de faire un bon moteur bien pensé et bien ouvert notamment grâce au LUA et c'est beaucoup de travail préliminaire. En plus je ne connais pas encore le LUA mais ça m'a l'air très simple après il faut voir comment je peux gérer son utilisation en C++ mais ça m'a pas l'air d'une grande difficulté. Ce qui est difficile c'est de prévoir des modèles de données adaptable en C++
    Oui je connais springrts, il y a totala3D aussi qui est pas trop mal. D'ailleurs j'ai fais un totala au boulot entre midi et deux aujourd'hui (fannnnnnnn :p)

  19. #39
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Points : 291
    Points
    291
    Par défaut
    Ne t'inquete pas pour mon algo, je trouve le résultat très bon. Faudrait que je mettes une démo pour te convaincre.

    Sinon On peut se faire un sup com, je suis sur GPGnet presque tout les soir, avec le même pseudo à partir de 21 h

    Pour tes partie de TA, tu peux tester ce mod: http://www.planetannihilation.com/tll/index.html, j'avais fais la campagne solo du mod

  20. #40
    Membre éprouvé Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Points : 1 087
    Points
    1 087
    Par défaut
    Je n'y joue plus trop en ce moment, j'en avais marre d'attendre 20 minutes pour que la partie se lance tout ça pour jouer contre des noobs. Et puis niveau équilibrage autant si les joueurs jouent le jeu ça le fait autant certaines unités cassent tout l'équilibrage (cf : l'avion t3 aeon dont je me souviens plus le nom).
    Marrant que tu me montre ce mod je l'avais justement remarqué la semaine dernière je testerais peut-être si j'ai le temps ^^
    Ouai ça serait simpa une petite démo (ou on peut switcher en filaire )

Discussions similaires

  1. generation de terrain par fractales
    Par cliquet dans le forum Développement 2D, 3D et Jeux
    Réponses: 7
    Dernier message: 17/01/2008, 07h24
  2. Réponses: 2
    Dernier message: 02/10/2007, 09h53
  3. Modélisation de terrain par triangulation
    Par Tyver dans le forum API graphiques
    Réponses: 6
    Dernier message: 05/06/2007, 19h41
  4. Réponses: 8
    Dernier message: 02/06/2007, 20h08

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