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. #81
    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 AuraHxC Voir le message
    Je pense que je vais télécharger ton projet pour y mettre mon nez dedans, ça m'intéresse assez.
    Je ferais des tests quand je serais de retour chez moi avec ma GTX 295, parce que la mon macbook avec son intel GMA 950 c'est pas vraiment intéressant.
    Quasiment tout est fait dans les shaders, donc avec une carte graphique pourrie, ce n'est vraiment pas ça

    Quand tu auras testé, fais moi un retour avec nombre de fps, temps de chargement (écrit dans la fenêtre de log) et tout ça.

    Bonne fin de vacance.

  2. #82
    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
    cette apres midi et ce soir je me suis amusé a regarder les effets d'environnement mapping et les possibilités d'implémentation dans mon moteur des différentes techinques avec les shaders GLSL

    J'ai commencé à m'amuser avec du simple Spherical Environment Mapping sur le galactique colossus du jeu supreme commander(dans le jeu son armure est plutôt polie et lisse alors que dans ma démo elle est très terne)
    Le résultat étant plutôt sympa après seulement quelques minutes (presque juste copier coller l'exemple de Ozone3D) je me suis amusé à intégrer quelque effets supplémentaire pour avoir un résultat plus proche du jeu.

    voici une démo de test avant l'intégration dans mon projet principal:
    ====================
    http://dl.free.fr/bmuJB7Oxy
    ====================
    les commandes sont les mêmes que d'habitude. j'ai rajouté la monté et la décente du point de vue de la camera avec les touche + et -

    dans le zip de la démo j'ai mis le code sources de celle-ci.

    voir l'image:

  3. #83
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 980
    Points
    7 980
    Par défaut
    Franchement c'est du beau boulot. Mon petit paysage opengl a l'air bien fade tout a coup apres avoir vu ton projet
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #84
    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
    Deux images pour illustrer les travaux en cours.

    Mise en place d'un système de LOD pour le terrain: plus la camera est éloigné du terrain et moins il y de triangles dessinés.


    Ainsi que d'un peu de physique avec la lib Newton Game Dynamic. AU départ j'étais parti sur PhysX mais celle ci est limité au niveau de la gestion des terrains
    Pour Newton j'ai repris l'exemple du HeightField du SDK de la version 1.53


  5. #85
    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
    N'oublie pas de télécharger la version 2 du SDK, Newton a bien changé, autant en terme de fonctionnalités qu'en terme de performances .

  6. #86
    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
    Je sais je l'ai récupéré en version 2.1 il y a quelques mois.

    Le problème c'est que beaucoup de choses ont changés depuis la version 1.53 avec laquelle j'avais fait plein de truc comme la gestion des véhicules qui est entièrement à reprendre. J'ai même remarqué que quelques fonctionnalités n'étaient pas finies. Surtout pour les véhicules
    Pour l'instant j'ai fais la méthode de facilité consistant à reprendre mon ancien code 1.53 et à ajouter une classe HeightField reprenant celle du SDK 1.53

    C'est sur que pour la suite passé à la dernière version serait mieux. Mon but pour l'instant est de voir quel moteur physique peu gérer un terrain 4096x4096.
    PhysX ne peut pas (en tout cas sa classe pour le faire plante chez moi à cette taille)
    Newton 1.53 en faisant à la main peu.

  7. #87
    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
    Regarde Havok c'est gratos depuis un petit moment et je pense que c'est assez performant

  8. #88
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 56
    Points : 44
    Points
    44
    Par défaut
    ~40 de FPS pour moi avec une GTX 280 :p
    Par contre pour les perfs tu devrais eviter d'ecrire dans la console une fois le rendu lance. La console windows est particulierement lente !

    Sinon le rendu est clairement sympa

  9. #89
    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
    Je viens apporter quelques nouvelles:

    J'ai fait un module pour intégrer SPARK comme source de particules et j'ai mis le GC relooké dans la démo:


  10. #90
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut La suite !!
    Whats up ?

    Souhaites tu continuer le développement de ton moteur vers un Earth Mapping ?

  11. #91
    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 Yeshouroun Voir le message
    Whats up ?

    Souhaites tu continuer le développement de ton moteur vers un Earth Mapping ?
    Ce n'est plus la même chose, Ce n'est pas la direction que je prends.

    En ce moment je suis en train d'implémenté du picking color et du deferred lightning
    En parallèle un éditeur est en cours de création avec Qt ainsi que d'autres fonctionnalité.

    Bref ça avance à son rythme

  12. #92
    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
    Je suis en train de faire un système d'éclairage dynamique par rendu différé avec picking color.
    Il manque encore le spéculaire. Il y a déjà le bump mapping et les textures
    voici les première images:

    le rendu final avec une lumière omnidirectionnelle + 4 lumières ponctuelles


    les buffers de données avec en haut à gauche les normales dans l'espace absolue, en bas à gauche la couleur, en bas à droite la positions des pixels dans l'espace absolue et le dernier qui contient quelques trucs sans grand importance

  13. #93
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Pas mal du tout, j'aime bien l'image avec la vue sur les robots dans ton monde.

    C'est du bon boulot, bon courage :-)

    Jc

  14. #94
    Membre actif Avatar de Robxley
    Homme Profil pro
    Docteur ingénieur traitement d'image
    Inscrit en
    Mai 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Docteur ingénieur traitement d'image

    Informations forums :
    Inscription : Mai 2009
    Messages : 158
    Points : 228
    Points
    228
    Par défaut
    Salut,

    Très beau travail, bien qu'il faut le hardware nécessaire pour faire tourner tout ça.


    J'ai un peu regardé vite fait comment tu avais agencé tout ça. La curiosité est un vilain défaut il parait, et toute idée est bonne à prendre.


    Néanmoins, juste quelques précisions, histoire de voir si j'ai tout bien compris.

    Pour ton terrain tu te sers d'une méthode de Vertex Displacement Mapping. Si j'ai bien compris la façon dont tu l'utilises en quelque ligne :

    - tu envoies un maillage plan / plat (tous tes vertex sont aux même niveau) de taille de ta heightmap.
    - à l'aide d'un texture (ta heigthmap) tu va changer la hauteur vertical de tes vertex constituant ton maillage dans ton vertex shader histoire d'avoir une accélération GPU.

    Donc jusque là aucun souci c'est le principe du Vertex Displacement Mapping.

    Néanmoins je ne vois pas l'intérêt de calculer la hauteur de ton maillage à chaque frame pour un maillage qui est sensé être statique je trouve cela un peu couteux de recalculer à chaque frame la hauteur du terrain qui n'a pas bougée.
    Je vois dans le Vertex Displacement Mapping un réel intérêt dans le cas de maillage déformable au cours du temps (un tremblement de terrain par exemple .)

    Cependant autant je comprends son utilité pour des phénomènes dynamiques d'ailleurs comme tu sembles l'employer dans ton application pour la formation de cratère ou autre, autant pour la génération complète de ton terrain je trouve que ca fait énormément de calculs identiques refaits à chaque frame pour un même résultat même si cela est fait au niveau GPU c'est du temps de calcul perdu pour d'autre effet ou tous simplement améliorer le fps pour une config moins performante.

    Après j'ai peut être mal compris et certaines choses ont dû m'échapper.

    Quoi qu'il en soit très beau boulot.
    Rien ne sert de courir, mieux vaut partir à point. Programmer aussi d'ailleurs.
    Surtout, mais surtout pas d’astuces !
    Pas de bras, pas de chocolat. Les deux mains sur le clavier.

  15. #95
    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 Robxley Voir le message
    ...
    J'ai un peu regardé vite fait comment tu avais agencé tout ça. La curiosité est un vilain défaut il parait, et toute idée est bonne à prendre.
    La curiosité n'est pas un vilain défaut

    Citation Envoyé par Robxley Voir le message
    Néanmoins, juste quelques précisions, histoire de voir si j'ai tout bien compris.

    Pour ton terrain tu te sers d'une méthode de Vertex Displacement Mapping. Si j'ai bien compris la façon dont tu l'utilises en quelque ligne :

    - tu envoies un maillage plan / plat (tous tes vertex sont aux même niveau) de taille de ta heightmap.
    - à l'aide d'un texture (ta heigthmap) tu va changer la hauteur vertical de tes vertex constituant ton maillage dans ton vertex shader histoire d'avoir une accélération GPU.

    Donc jusque là aucun souci c'est le principe du Vertex Displacement Mapping.

    Néanmoins je ne vois pas l'intérêt de calculer la hauteur de ton maillage à chaque frame pour un maillage qui est sensé être statique je trouve cela un peu couteux de recalculer à chaque frame la hauteur du terrain qui n'a pas bougée.
    Je vois dans le Vertex Displacement Mapping un réel intérêt dans le cas de maillage déformable au cours du temps (un tremblement de terrain par exemple .)

    Cependant autant je comprends son utilité pour des phénomènes dynamiques d'ailleurs comme tu sembles l'employer dans ton application pour la formation de cratère ou autre, autant pour la génération complète de ton terrain je trouve que ca fait énormément de calculs identiques refaits à chaque frame pour un même résultat même si cela est fait au niveau GPU c'est du temps de calcul perdu pour d'autre effet ou tous simplement améliorer le fps pour une config moins performante.

    Après j'ai peut être mal compris et certaines choses ont dû m'échapper.

    Quoi qu'il en soit très beau boulot.
    Tu as bien compris la première partie de l'algorithme basé sur le Vertex Displacement Mapping.
    Mais tu n'as pas compris la deuxième partie, là ou réside toute l'asstuce.
    Mon terrain fait 4096*4096, avec un maillage statique j'aurai 4096*4096*2 = 33 554 432 triangles autant dire que je mets la carte graphique à genou.
    L'astuce consiste a découper mon terrain en 2 patch réutilisable : une zone centrale et un anneau, donc 2 maillages de créés. qui font 64*64 et 128*128 avedc un trou de 64 sois 8192 et 24576 triangles (c'est mieux que 33.5 millions, l'économise beaucoup de mémoire)
    ensuite pour afficher je fais:
    -affichage de la zone centrale à l'échelle 1 ou ce trouve la caméra
    -affichage de l'anneau ou ce trouve la caméra
    => une zone avec 100% de précision de 128 * 128 est dessiné
    -affichage de l'anneau avec échelle 2 (50% de précision)
    -affichage de l'anneau avec échelle 4 (25% de précision)
    ... ainsi de suite jusqu'à ce que la totalité du terrain sois dessiné. les hauteurs des vertex de mes appel au maillage anneau sont calculés dynamiquement. Grace au Vertex Displacement Mapping je peu recycler je recycle çà l'infinie (ou presque) mes 2 patch

    au finale j'ai 200000 triangles de dessiné au lieu de 33,5 millions
    soit une division du nombre de triangles par plus de 167.

  16. #96
    Membre actif Avatar de Robxley
    Homme Profil pro
    Docteur ingénieur traitement d'image
    Inscrit en
    Mai 2009
    Messages
    158
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Docteur ingénieur traitement d'image

    Informations forums :
    Inscription : Mai 2009
    Messages : 158
    Points : 228
    Points
    228
    Par défaut
    Et bien merci pour cette précision c'est d'autant plus clair.
    Rien ne sert de courir, mieux vaut partir à point. Programmer aussi d'ailleurs.
    Surtout, mais surtout pas d’astuces !
    Pas de bras, pas de chocolat. Les deux mains sur le clavier.

  17. #97
    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'éditeur en cours de développement.
    Il est fait avec Qt et j'y ai intégrer mon moteur.


  18. #98
    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
    Salut ^^ pas trop dur d'intégrer son moteur dans un framework comme Qt ?

  19. #99
    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
    Salut ^^ pas trop dur d'intégrer son moteur dans un framework comme Qt ?
    J'utilise SFML comme lib de fenêtrage. SFML s'intègre dans Qt, j'ai suivie le tuto du site officiel à la lettre. Je peux même avoué que j'ai copier coller le code.
    2, 3 petites adaptations de mon moteur pour Qt et mon moteur aient le même sf::RenderWondow plus tard ça marche.

  20. #100
    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
    Woa cool je savais pas qu'on pouvait intégrer la SFML dans Qt comme ça :o moi aussi j'utilise la SFML (<3) et il faut avouer que cette librairie déchire ^^
    En effet très pratique si on peut l'intégrer dans un environnement Qt sans effort :p

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