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

Développement 2D, 3D et Jeux Discussion :

Le raytracing, bientôt dans nos jeux vidéo ?


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 867
    Points : 219 082
    Points
    219 082
    Billets dans le blog
    121
    Par défaut Le raytracing, bientôt dans nos jeux vidéo ?
    Le raytracing, bientôt dans nos jeux vidéo ?

    Certes, la question du raytracing (lancer de rayons) revient assez souvent et malgré quelques avancés régulières dans le domaine, l'application de la technique de raytracing n'est généralement pas du tout applicable aux contraintes des jeux vidéo. En effet, un jeu vidéo demande le rendu de 1920 x 1080 (2 073 600) pixels et cela, 60 fois par seconde. Avec la technique de rendu par rasterisation (envoi d'une liste de triangles au GPU), cela fonctionne plutôt bien et permet de créer les images que l'on a l'habitude de voir. En effet, les cartes graphiques sont optimisées dans ces calculs et elles permettent de fournir des résultats convenables. Toutefois, les images sont bien loin de ce que l'on peut voir dans la nature. Notamment, les lumières sont limitées et il est rare de voir un jeu utilisant la transparence ou des reflets.
    Le raytracing permet d'améliorer cette qualité en simulant directement le rayon de lumière (et ses rebonds). Ainsi, le calcul des ombres et des reflets devient facilement possible. Malheureusement, cela demande une puissance accrue en termes de calcul et il est lent de rendre une scène complète, soixante fois par seconde.


    À gauche, une image rasterisée (rendu actuel) ; À droite, une image utilisant les deux techniques
    (cliquez sur les images pour voir en grand)

    Durant la Game Developers Conference 2014, se tenant à San Francisco, Imagination Technologies, un constructeur de puce graphique pour les appareils embarqués a présenté une nouvelle puce permettant un rendu hybride. Pour rappel, Imagination Technologies propose des puces graphiques pour les iPhone et certains appareils sous Android. De plus, la société commerciale propose aussi des cartes professionnelles permettant de faire du raytracing. Dans cette puce, ils ont donc allié leurs deux expertises afin de proposer de faire un rendu temps réel hautement amélioré.


    Afin de présenter leur nouveauté, Imagination Technologies a travaillé en collaboration avec Unity Technologies pour développer une version modifiée de Unity, utilisant les nouvelles capacités de cette puce. D'après le constructeur, la puce serait capable de lancer 300 millions de rayons à la seconde (ce qui permettrait d'envoyer environ trois rayons par pixel, pour chaque image). Voici comment fonctionne le nouveau pipeline de rendu :


    John Carmack, semble apprécier cette nouvelle solution, comme il l'a indiqué sur son twitter :
    I had reviewed some ray tracing hardware before the PVR stuff that was laughably unsuitable to the proposed gaming applications.

    Votre opinion

    Pensez-vous que le raytracing soit une solution fiable dans le rendu des jeux vidéo ?
    Trouvez-vous que c'est une nouveauté intéressante, ou que cela a de grandes chances d'être abandonné ?


    Voir aussi

    Tutoriels sur le raytracing
    Série d'articles sur les cartes graphiques


    Source

    Gamasutra
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  2. #2
    Membre éclairé

    Homme Profil pro
    Non disponible
    Inscrit en
    Décembre 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : Décembre 2012
    Messages : 478
    Points : 877
    Points
    877
    Billets dans le blog
    1
    Par défaut
    Pensez-vous que le raytracing soit une solution fiable dans le rendu des jeux vidéo ?
    Celle-là parait être la plus précise, mais d'autres solution moins onéreuses existe aussi (Voxel cone tracing, ... )

    Trouvez-vous que c'est une nouveauté intéressantes, ou que cela a de grandes chances d'être abandonné ?
    Mon moi matérialiste attendait ça depuis des années, cela va marquer un tournant pour le photoréalisme en temps réel.
    Cette solution serait aussi un gain de temps pour les métiers de l'architecture, des effets spéciaux... plus de temps perdu au rendu.
    Cependant je ne pense pas voir ce genre de carte de sitôt dans nos chaumières, rien est adapté à ce type de technique, et je vois difficilement un moteur capable de gérer cette méthode en plus de celle classique.

  3. #3
    Membre expert
    Avatar de Dabou Master
    Homme Profil pro
    Graphiste 3D auto-didacte
    Inscrit en
    Février 2012
    Messages
    1 018
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Graphiste 3D auto-didacte

    Informations forums :
    Inscription : Février 2012
    Messages : 1 018
    Points : 3 569
    Points
    3 569
    Par défaut
    1) Fiable ? La question n'est pas dans la fiabilité mais la "faisabilité". Depuis le temps qu'on nous balance du rêve comme ça moi je n'y crois toujours pas. Les images montrent ce qu'on arrive déjà à faire, l'environement mapping rendait sans problème des reflets de ce qui se passe autour, et plein de choses ne fonctionneraient pas alors qu'on les voit dans les jeux qui sont vraiment jolis ? Le truc c'est surtout que de nos jours plein de jeux n'en ont rien à faire d'être à la pointe de la technologie ou salement vieillissant, tout part en cacahuète alors c'est parce qu'on donne de meilleures possibilités de rendu que ça va évoluer côté studio (enfin si mais toujours les mêmes, ceux qui envoient déjà du lourd à l'actuel).
    De toute façon ce qu'on voit est très surfait, ça m'agace même, c'est tellement commercial ça m'écoeure...

    2) Si encore c'était nouveau ... Aucune raison que ça soit abandonné maintenant vu le temps depuis lequel c'est étudié. Mais moi je suis convaincu que c'est pas maintenant qu'on va se mettre à avoir du ray tracing en temps réel ! Si déjà on exploitait pleinement toutes les possibilités qu'offrent nos cartes graphiques actuelles sans rajouter de puces abracadabrantes, mais non de toute façon comme beaucoup de gens de veulent pas faire évoluer leur matos et restent la majorité, ça change rien qu'il y ait de bonnes technologies, les studios se concentreront sur ce que la masse peut afficher. Rappelez-moi combien il y a de jeux qui tournent en DX 11 ?
    Abandonner ses rêves n'est pas à la portée de tout le monde.

  4. #4
    Membre actif Avatar de Agrajag
    Inscrit en
    Janvier 2014
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Janvier 2014
    Messages : 110
    Points : 263
    Points
    263
    Par défaut
    Je suis justement sur un projet de RayTracing.

    Pour l'instant j'ai un binaire qui parse un fichier scene pour afficher un rendu (raytracing avec l'illumination de phong + reflection lambert).
    Une fenêtre de 800*600 mets entre 5 et 10 secondes à s'afficher, selon la complexité de la scene, le nombre d'objets, le nombre de spots de lumières, les calculs d'ombres sur l'objets, d'ombres portées, de la reflexion, etc...

    Le lancer de rayon 2D "RayCasting" (wolf3D, Doom), et les calculs de la couleur de chaque pixels étaient effectués par le CPU, et non par le GPU.
    Les machines de l'époque (plutôt faiblardes niveau graphique) pouvaient aisément simuler de la 3D, en recalculant instantanément une image 2D pixel par pixel (l'image n'étant qu'un pointeur de pixels).


    Puis vint le RayTracing, les rayons projetés en 3D depuis la position de la caméra.


    Je suis conscient qu'il doit y avoir moultes optimisations à apporter à mon code, mais entre ce que je suis capable de coder (1 image/10 sec) et le taux de rafraîchissement annoncé (60 images / 1 sec), j'étais plutôt sceptique.

    Et puis, j'ai vu ca :

    rendu instantanée

    Grand fan du lancer de rayon, je ne peux que plussoyer cette initiative.
    Je rejoins l'avis de Dabou sur le fait que le raytracing ne sois pas une nouveauté, et que ca ressemble à un gros coup commercial.
    Mais bon, on va pas faire des jeux en 4D avec des hypercubes, ca ferai plus trop réaliste
    A voir si cette technologie hybride nous arrive un jour dans les mains !

  5. #5
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 867
    Points : 219 082
    Points
    219 082
    Billets dans le blog
    121
    Par défaut
    Euh, vous avez mis deux fois le même lien.

    Je vous conseille de regarder les techniques de raymarching :


    C'est une technique full GPU, qui repose sur une base de raytracing, mais qui permet des rendu temps réels.
    Voici quelques productions de la demoscene utilisant le raymarching :




    Malheureusement, pas moyen de faire des rendus réalistes avec, car il est nécessaire d'utiliser une fonction mathématique pour générer un objet (surfaces implicites).
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Ingénieur 3D
    Inscrit en
    Avril 2008
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur 3D

    Informations forums :
    Inscription : Avril 2008
    Messages : 400
    Points : 968
    Points
    968
    Par défaut
    On peut faire des rendus raisonnablement réalistes et complexes avec du raymarching. Evidemment, c'est pas forcement ce qu'il y a de plus pratique, et c'est bien pour ça que pour le moment, on s’intéresse plus a des moteurs hybrides.
    Pour ceux qui sont intéressés de voir du raymarching en temps réel, je conseillerai de faire un tour sur shadertoy:
    https://www.shadertoy.com/view/4ss3z4
    https://www.shadertoy.com/view/XsX3RB
    https://www.shadertoy.com/view/XsfGD4
    (attention, ces liens font tourner des shaders dans webGL, donc selon le navigateur et le GPU, ca peut freezer un peu )

  7. #7
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 078
    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 078
    Points : 7 986
    Points
    7 986
    Par défaut
    Tiens pas un seul mot contenant "biased" ou "unbiased" dans tout ca, bizarre...
    (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

  8. #8
    Membre éprouvé
    Homme Profil pro
    Ingénieur 3D
    Inscrit en
    Avril 2008
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur 3D

    Informations forums :
    Inscription : Avril 2008
    Messages : 400
    Points : 968
    Points
    968
    Par défaut
    En même temps, si le raytraceur est juste utilisé pour des reflets et des ombres, le bias/unbiased n'a pas lieu d’être.

  9. #9
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 078
    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 078
    Points : 7 986
    Points
    7 986
    Par défaut
    Ou as tu vu qu'il ne servait qu'a ca ?
    (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

  10. #10
    Membre éprouvé
    Homme Profil pro
    Ingénieur 3D
    Inscrit en
    Avril 2008
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur 3D

    Informations forums :
    Inscription : Avril 2008
    Messages : 400
    Points : 968
    Points
    968
    Par défaut
    D’après le diagramme, c'est juste un système d'intersection de rayons avec une structure de partitionnement spatial et de cohérence temporelle pour optimiser. Les screenshots au début de ce post et tout le marketing autour du produit laissent penser que ça ne fait rien de plus.

Discussions similaires

  1. Le rendu au raytracing dans les jeux vidéos.
    Par Invité dans le forum Développement 2D, 3D et Jeux
    Réponses: 44
    Dernier message: 11/02/2015, 15h41
  2. Réponses: 88
    Dernier message: 01/09/2012, 13h15
  3. Les métiers de la programmation dans les jeux vidéos
    Par NiamorH dans le forum Développement 2D, 3D et Jeux
    Réponses: 36
    Dernier message: 09/10/2007, 14h10
  4. Réponses: 49
    Dernier message: 31/08/2007, 12h30
  5. Les threads dans les jeux vidéos
    Par Davidbrcz dans le forum Développement 2D, 3D et Jeux
    Réponses: 24
    Dernier message: 22/08/2007, 18h59

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