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

Moteurs 3D Discussion :

Illumination globale vs temps reel


Sujet :

Moteurs 3D

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut Illumination globale vs temps reel
    Bonjour !

    Mon projet actuel est d'étudier les techniques et algorithmes permettant de faire de l'illumination globale en temps réel. Le but étant d'adapter les théories de la recherche actuel pour un moteur de jeux vidéos next-gen.

    J'ai donc commencé a lire un paquet de publications, thèses, articles de recherches mais aucun ne s'applique vraiment au temps réel ou aux contraintes du jeu vidéo. Pour l'instant le candidat le plus probable serait le couple "PRT / SH" et également l'utilisation d' "irradiance volume".

    Mais avant de ma lancer, j'aurais aimé savoir si certains d'entre vous ont déjà essaye d'appliquer ce genre de technique auparavant. D'autre part je sais que certains jeux next-gen implémente déjà ces techniques d'éclairage avancé: Halo, Crysis, Unreal 3, ou même certains middleware comme Lightsprint, Fantasylab ou Geometrics... mais pas moyen de savoir quelle technique ils ont employé...

    Merci a ceux qui ont deja étudié / appliqué ces techniques pour leurs conseils et tuyaux.

  2. #2
    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 : 39
    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
    Effectivement, les PRT / SH permettent pas mal de trucs. Y a pas mal de variations et techniques à étudier, mais bon il faut garder en tête que ça reste limité à des éclairages d'ambiance, représentables en faibles fréquences. Bon courage si tu t'aventures de ce côté, y a de la doc à potasser

    Tu peux également jeter un oeil du côté de l'ambient occlusion, il y a des versions dynamiques qui marchent plutôt bien pour pas cher (Crysis utilise une technique calculée en espace écran). Regarde aussi du côté de GPU Gems (le 2 je crois), nVidia propose une autre implémentation temps réel, qui doit aussi être dispo sur leur site en PDF.

    On parle aussi de plus en plus de raytracing en temps réel, mais je pense que cela reste loin d'être exploitable dans des jeux commerciaux.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Oui j'ai deja un peu étudié l'AO décrit dans GPU Gems 2 et un ou deux papiers traitant du SSAO mais je pense que ca ne couvre pas les fonctionnalités attendues dans mon cas: je veux seulement traiter l'illumination indirect i.e tout la lumière qui fluctue dans la scène après X rebonds, avec camera dynamique, objets dynamiques (voire déformables) et lumières dynamiques si possible. Il faut que j'approfondisse les techniques d'AO pour voir ce qui serait utilisable.

    Il commence a y avoir des méthodes de raytracing sur GPU mais ca ne dépasse pas le 5Hz donc inutilisable.

  4. #4
    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 : 39
    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
    Les techniques d'AO simulent bien de l'éclairage indirect (en l'occurence, les zones de pénombre créés par la géometrie) ; certes en interne c'est principalement de la grosse feinte, mais le but est tout de même de simuler de l'illumination globale.

    Sinon, je ne sais pas si cela rentre dans tes recherches, mais tu peux également étudier les techniques existantes concernant le sub-surface scattering, la réfraction, etc. Là encore il y a des choses temps-réel sympas qui ont été développées (fais un tour du côté des IOTD sur gamedev.net).

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Si j'ai bien compris l'AO va seulement créer des ombres (ou plus précisément de la pénombre) entre deux objets proches ou au sein d'un même objet, mais ce ne sera que des ombres douces. Moi je cherche plutôt quelque chose qui pourrait gérer les phénomènes de radiosité et de réflexion (basse fréquence ça devrait suffir). Mais rien n'empêche de rajouter de l'AO par la suite.

    Ce n'est pas encore décidé mais je pense que le sub-surface scattering est un peu hors contexte dans le cadre du jeu vidéo.

  6. #6
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    La méthode de Gpu Gems ne gère pas que les ombres meme si c'est ce qui est mis en avant dans le papier.
    Michael Bunnell a fondé sa propre boite et rafiné sa technique :
    http://www.fantasylab.com/newPages/rtgi.html

    sinon c'est un truc comme ça que tu veux ?
    http://www.geomerics.com/enlighten-media.htm

    LeGreg

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  7. #7
    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
    J'avais trouvé quelques papiers sur le sujet, par exemple là : http://nis-lab.is.s.u-tokyo.ac.jp/~n...r07Iwasaki.pdf

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    J'avais trouvé quelques papiers sur le sujet, par exemple là : http://nis-lab.is.s.u-tokyo.ac.jp/~n...r07Iwasaki.pdf
    Merci pour le lien, c'est peut-être un des rares papiers que je n'avais pas encore lu. Je n'ai pas encore tout lu en détail mais il semble qu'il ne dépasse pas les 20 fps alors que la scène ne comporte trois fois rien... Mais bon je vais regarder ça de plus près ça pourrait m'inspirer.

    sinon c'est un truc comme ça que tu veux ? http://www.geomerics.com/enlighten-media.htm
    A ben si je peux réussir a faire aussi bien ce serait le top, mais oui l'idée est la... Par contre il ne dévoile rien de leur technique (même pas la théorie de base qu'ils ont utilisé).

    Sinon j'avais deja regarde le truc de Fantasy Lab mais c'est pareil, il ne donne aucune infos sur leurs méthodes d'illumination indirecte.

  9. #9
    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
    le problème, c'est que l'illumination global en temps réel, c'est un peut le nerf de la guerre actuellement, du coup, des que quelqu'un a une idée qui marche, il monte sa boite et essaye de vendre son produit... du coup, impossible d'avoir des réelles infos sur le sujet

    sinon, tu a aussi http://lightsprint.com/ qui fait dans la solution middleware et qui est issue des recherches de http://dee.cz/lightsmark/ ou tu peut trouver quelques liens (mais je ne sais pas ce qu'ils valent...)

    d'ailleurs, un conseils pour ceux qui cherchent des papiers la dessus : gardez toujours une copie de ces papier, car ils on une fâcheuse tendance à disparaitre du net des que les auteurs montent leurs boites
    * 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

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Oui j'ai deja regarde un peu ce que fait lightsprint, c'est très joli (au niveau radiosité) même si les ombres ne sont pas toujours exactes, mais comme d'habitude impossible de savoir quelle méthodes ils utilisent... Par contre j'ai lu que Fantasy lab n'utilise ni lightmap, ni prt, ni sh, ni ambient occlusion ??? Ils doivent avoir trouvé une technique révolutionnaire.

    Et effectivement certains papiers disparaissent, je suis tombe sur des liens morts ou des papiers a acheter

    Bon ben je retourne a mes lectures

  11. #11
    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
    Bon, j'avoue je m'étais pas mal renseigné sur le sujet . J'avais trouvé ÉNORMÉMENT de papiers sur le sujet (par contre comme vous dites rien sur les techniques de Lightsprint - d'ailleurs leur démo est assez impressionnante, même sur ma vieillissante 9800 Pro le rendu sur des scènes assez complexes est supérieur à 25 fps !), mais la plupart donnent des techniques assez lentes ou parfois extrêmement compliquées que je n'ai jamais réussi à comprendre. Tu as de la lecture ! J'upload tout sur mon FTP developpez.com. Bonne lecture Ya un peu de tout (il y a en tout... 44 PAPIERS :d) et je pense qu'il y a un peu près tout ce qui est disponible sur le net . Si tu en as d'autres qui sont pas dans cette liste merci de me les faire parvenir, ça pourrai faire une collection de papiers sur le sujet !

    http://bakura.developpez.com/illumination.7z

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    De mon coté j'ai réunis un paquet de papiers, publications, thèses... mais sur des sujets varies de l'illumination (photon mapping, ray tracing,...) et en tout je dois bien me retrouver avec une centaine de trucs.

    Merci beaucoup pour ton archive, ça m'aurait peut-être permis de vérifier si je ne suis pas passé a coté de certaines publications (qui auraient peut-être disparus de la circulation) mais le probleme est que je suis sous Linux Ubuntu et que je ne peux pas lire les archives .7z Donc si tu pouvais me le transformer en un truc plus "standard" genre zip ou targz ca m'arrangerait bien (ou au pire je trouverais bien qqn avec une machine windows qui pourra me l'extraire). Quand j'aurais fini mon travail de documentation je pourrais t'envoyer les papiers pertinents que tu n'aurais pas lu.

    Merci encore

  13. #13
    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
    Ouep, voilà l'archive en .zip : http://bakura.developpez.com/illumination.zip

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    15
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Février 2008
    Messages : 15
    Points : 5
    Points
    5
    Par défaut
    Merci bien ! Je vais regarder ce que tu aurais pu trouver d'original, et je t'enverrai les miens (mais avant il faudrait que je fasse un peu de tri)

  15. #15
    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
    Un petit up, parce qu'il y a eu pas mal de nouveautés ces derniers mois sur ce sujet . J'ai recensé sur mon blog quelques unes des dernières techniques. Il y en a notamment une de très intéressante en image-space et qui peut peut-être s'avérer viable, mais j'avoue avoir du mal à visualiser les résultats sur des scènes d'intérieurs avec cet algorithme en image-space...

  16. #16
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Citation Envoyé par Bakura Voir le message
    Un petit up, parce qu'il y a eu pas mal de nouveautés ces derniers mois sur ce sujet . J'ai recensé sur mon blog quelques unes des dernières techniques. Il y en a notamment une de très intéressante en image-space et qui peut peut-être s'avérer viable, mais j'avoue avoir du mal à visualiser les résultats sur des scènes d'intérieurs avec cet algorithme en image-space...
    Image space means you get what you paid for..

    Mais la plupart du temps on parle de jeux, pas de simulations précises, hein. Donc tant que ça fait illusion..

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  17. #17
    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
    Image space means you get what you paid for..

    Mais la plupart du temps on parle de jeux, pas de simulations précises, hein. Donc tant que ça fait illusion..
    Hein ?

    Je disais que j'ai un peu de mal avec cette technique, car d'après ce que j'ai compris du papier (je l'ai lu très vite...) l'éclairage indirect est calculé en image space, et comment veux-tu que ça donne un résultat correct si tu es dans un long couloir qui tourne ? T'auras aucun éclariage direct sur cette partie, et vu qu'il fera tout noir, ben ton algo image-space il fera pas grand chose ^^.

    Alors ok, ils proposent une technique pour "contourner" ce problème en dessinant la scène de 4 points de vue différents, mais d'une tu perds un peu du bénéfice d'un algorithme en image-space, et de deux reste à voir comment ça scale sur des scènes intérieurs assez complexes...

    Alors ouais, c'est cool les techniques image-space, mais pour ce genre d'algorithmes je suis pas sur des résultats... On m'a toujusr dit que les graphics researchers faisaient toujours gaffe de tester sur des scènes faites pour l'algorithme. En l'occurence, ils testent ça soit sur une scène en extérieur donc avec un fort éclairage direct, ou soit sur une Cornell Box :/.

  18. #18
    Membre expérimenté

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Points : 1 679
    Points
    1 679
    Par défaut
    Ce qu'il faut retenir c'est que ce n'est pas un remplaçant de la global illumination mais un outil qui donne des touches d'interreflexion (color bleeding) sans le coût généralement associé (photon mapping, radiosité, etc).

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  19. #19
    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
    Oui oui, je n'ai jamais dit le contraire ^^. C'est la première technique je vois qui est vraiment exploitable dans un contexte temps-réel (enfin, qui soit expliquée ^^).

    PS : Mais... qu'est-ce que tu fais là en cette soirée de réveillon ?

  20. #20
    Membre actif
    Avatar de Mikmacer
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2006
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 116
    Points : 241
    Points
    241
    Par défaut
    Ça fait quelque temps que j'étudie la question, j'ai regaré au moins une trentaine de "papers" sur le sujet, et la plupart ne montraient que des techniques ne donnant pas un très bon FPS, dans des scènes pas très complexes. En plus, certain semblaient êtres assez complexes à implémenter, et c'est là qu'on voit que si on veut implémenter le Global Illumination, il faut complètement qu'il soit inséré profond dans le moteur 3D.

    J'ai regardé les techniques en Screen Space, ce sont probablement parmi les plus optimisés et faciles à implémenter, mais au final le résultat n'est pas convaincant. Lorsqu'on tourne la vu, et c'est là que ça se complique, le résultat peu changer tellement que la scène peut paraître complètement "glitché". Une des technique que j'ai vu est de prendre plusieurs vues, mais cela devient extrèmement couteux. Par contre, le SSGI( Screen space global illumination ) peut très bien faire pour les jeux de style RTS, où la vue est éloignée.

    Finalement, j'en suis venu à la conclusion qu'il faut absolument radicalement "APPROXIMER" le global illumination pour qu'il soit implémentable en temps réel.

    Il y a une technique qui m'est venu en tête après toutes ces lectures: Une façon d'approximer qui est optimisé et qui donne un résultat convaincant, est de faire un rendu de profondeur à partir de la light, il peut être le même que celui utilisé pour faire l'ombrage en gardant les couleurs et les normales. Ensuite on choisi quelques pixels( au moins 5 je dirais) prédéfinis et on enregistre le vecteur des ray qui part de la light et qui reflète sur la normale des pixels et on fait la moyenne de tout les vecteurs, en même temps on prend la moyenne de couleur tout les pixels et on forme une light ambiante avec ce vecteur. Sinon, on peut faire plusieurs light avec ces vecteurs, mais c'est sûr que c'est plus optimisé de créer une light avec la moyenne.

    En fait, j'avais lu une ligne où il était marqué de créer une vecteur qui fait la moyenne dans Real Time Rendering third edition, c'est de là que me vient l'idée en partie, et une technique similaire est utilisé pour ce sdk commercial : (http://www.youtube.com/watch?v=ewQuQ...eature=related) En fait, ce serait la technique utilisée dans la première scène, selon le livre.

    Sinon, il y a certaines choses qu'on peut précalculer pour aider à faire le GI en temps réel. Pour ma technique, on pourrait précalculer la couleurs de rebond directement dans la géométrie, et lancer des ray sans calculer un rendu de la scène. Bien sûr, un éclairage de type deffered lighting serait approprié pour du GI en temps réel.

    Edit :
    Je viens de regarder une vidéo HD de enlighten, et on voit clairement dans les options du GUI que la couleur de rebond, des seconds bond de la lumière, est une couleur prédéterminée appelée émissive. Donc, juste le fait d'avoir une couleur prédéfinie pour la couleur de rebond sauve beaucoup de temps de calcul.

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/12/2004, 17h22
  2. Stats : connaitre en temps reel les requetes en cours d'exec
    Par jeff37 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/12/2004, 17h01
  3. [Info][Debutant(e)]affichage temps reel
    Par nine dans le forum Développement Web en Java
    Réponses: 15
    Dernier message: 26/11/2004, 17h03
  4. Réponses: 5
    Dernier message: 19/07/2004, 17h27
  5. Linux et le temps réel
    Par Shrem dans le forum Administration système
    Réponses: 6
    Dernier message: 11/12/2002, 08h21

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