Vous allez en connaître un rayon

Le “lancer de rayons” [ndlije : le Ray tracing vu par l’Académie Française], c’est la manière un peu ultime de créer une image virtuelle. On utilise les lois classiques de la physique pour déterminer le chemin des rayons de lumière depuis leur source et les résultats sont toujours largement supérieurs à tout ce qui se fait autrement. Le seul problème, et de taille, à une utilisation dans, par exemple, les jeux vidéos, c’est que c’est effroyablement long à calculer et que ça devient vite suffisamment complexe pour interdire toute application en temps réel. Tous ceux qui ont étudié un peu le graphisme et la 3D sur ordinateur savent à quel point ce serait le rêve ultime.


(Image Wikipédia)

Et il pourrait bien se réaliser très vite ce rêve. Selon un article de Scientific American, dont la traduction française est Pour La Science, des chercheurs de chez Intel en collaboration avec l’Université du Texas et celle de la Sarre [ndlije : la Sarre, région allemande proche de Forbach, où les jeunes filles vous accueillent un fusil à la main (si si, regardez bien la première image)…] commenceraient à trouver nos machines suffisamment puissantes et multithreadées pour envisager sérieusement de faire du lancer de rayon en temps réel dans un futur proche. Le lancer de rayons s’accorde en effet très bien avec les architectures des processeurs classiques et profite énormément du multithreading et donc, de la multiplication des coeurs de CPU actuellement en vogue.

Selon une estimation d’Ars Technica, on pourrait même envisager un usage dans les CPU quadricore qui apparaîtront d’ici quelques mois. Et subitement, le Cell de la PS3 pourrait devenir très intéressant…

Bon évidemment, il faudrait repenser un peu beaucoup de méthodes graphiques, cela pourrait peut-être aussi entraîner la fin des cartes graphiques telles qu’on les imagine. D’ailleurs nos voisins sarrois réfléchissent déjà à une puce spécialisée dans le domaine…

Messieurs de nVIDIA et d’ATI, vous savez où orienter vos recherches.

La fin des cartes graphiques peut-etre pas, mais on pourrait imaginer qu’elles retrouvent leur vielle “position”, à savoir une simple “carte accélératrice”. Parceque bon, raytracer, ça pulse, mais un probleme de rapidité se pose toujours entre entre une scène comme par exemple l’image de la news et une scène de jeu (par exemple raytracer un screenshot de UT2k7).

Personellement, j’ai du mal a imaginer les “techniques” qui permettraient d’effectuer un rendu correct d’une scène de jeu en raytracing (temps réel), même en ommetant les objets non visibles et autres techniques des moteurs actuels B)

Ouais, enfin, bon, en pratique, on fait du reverse ray-tracing (on part de chacun des pixels de la caméra pour aller jusqu'a la source lumineuse.

[quote=« lordpaolo, post:2, topic: 30269 »]La fin des cartes graphiques peut-etre pas, mais on pourrait imaginer qu’elles retrouvent leur vielle « position », à savoir une simple « carte accélératrice ». Parceque bon, raytracer, ça pulse, mais un probleme de rapidité se pose toujours entre entre une scène comme par exemple l’image de la news et une scène de jeu (par exemple raytracer un screenshot de UT2k7).

Personellement, j’ai du mal a imaginer les « techniques » qui permettraient d’effectuer un rendu correct d’une scène de jeu en raytracing (temps réel), même en ommetant les objets non visibles et autres techniques des moteurs actuels B)[/quote]

Lis la news d’ARS Technica… c’est assez mathematique,
Après, l’ideal serait un hardware spécialisé dans les calculs géométriques, plus spécifiquement dans les calculs d’intersections rayon/triangle. C’est un peu ce que fait la puce développée par les universitaires.

Après, ca peux devenir le taf des cartes graphiques, qui de toutes facons, pourront conserver une grosse partie de leur taf actuel.

Le raytracing à un (énorme) avantage : c’est beaucoup moins goinfre en bande passante que les algos type Z-Buffer, et c’est un peu aussi là ou les cartes graphiques actuelles ont du mal.

Si j’ai bien pigé, on nous dit tout simplement qu’on se dirige vers des architectures capable de faire du ‘reverse’ ray tracing temps reel mais que c’est pas encore pour demain. Ok, super, mais bon d’un coté on s’en doute un peu qu’on sera capable un jour de le faire. La news c’est qu’ils savent exactement quel materiel il faut desormais : du multi core. Mais arretez moi si je me trompe, les super calculateurs ne sont pas basés sur du multi proc ? En quoi c’est nouveau tout ca alors ?
J’ai du mal à comprendre l’interet de la news, mais j’ai peut etre loupé un truc. Eclairez moi (roooh le jeux de mots B))

Pour le fusil je te l’accorde après " fille " me parait mal adapté …

  • c’était vraiment très intéressant *

je pense que le ray-tracing c’est comme tout: on peut en faire du gourmand ou du moins gourmand.

si on définit au départ comme critères un seul rebond possible, et des regles de gestion des lumières simples (genre l’eclairage d’un point dépend uniquement de la distance et de l’angle de la surface sur laquelle il se trouve par rapport aux sources lumineuses, sans prendre en compte la position de la caméra) avec peu de sources lumineuses à la fois (rayon d’action de chaque source fortement limité), on peut facilement envisager d’en faire un truc fluide sur une machine pas trop irrationnelle.
mais ça sera moche.

mais si, dans les années qui viennent, on commence à voir sortir des jeux en RT avec une dizaine de rebonds, des tas de lumières en même temps et de la gestion de matériaux réaliste (refraction, couches multiples, etc), alors ce sera clairement impressionnant.

[quote=“Donjohn, post:4, topic: 30269”]Mais arretez moi si je me trompe, les super calculateurs ne sont pas basés sur du multi proc ? En quoi c’est nouveau tout ca alors ?
J’ai du mal à comprendre l’interet de la news, mais j’ai peut etre loupé un truc. Eclairez moi (roooh le jeux de mots :D)[/quote]

Les super calculateurs ne sont pas encore à portée du portefeuille de la plupart des foyers. L’intérêt de la news, comme tu le dis toi même, c’est que des recherches sont en cours pour faire du reverse ray tracing en temps réel sur nos machines de bureau. Pas pour tout de suite, mais on s’en rapproche.

Et puis t’as déjà joué sur un Cray, toi ? B)

[quote=“djcarlcom, post:7, topic: 30269”]Les super calculateurs ne sont pas encore à portée du portefeuille de la plupart des foyers. L’intérêt de la news, comme tu le dis toi même, c’est que des recherches sont en cours pour faire du reverse ray tracing en temps réel sur nos machines de bureau. Pas pour tout de suite, mais on s’en rapproche.

Et puis t’as déjà joué sur un Cray, toi ? B)[/quote]
Euh vous avez lu la news d’ARS ?

Non, pasque quand je lis ca :

[quote]Researchers at all three of these sites are working on software and hardware techniques to speed up ray tracing by factors of 100. In the rest of this post, I’ll take a closer look at the projects at Intel and Saarland.
(…)
The Intel paper isn’t focused on real-time ray tracing, and the numbers in the paper show it to be just beyond the reach of desktop processors at the time of publication (2005). The authors measure ray tracing performance in terms of the aggregate number of ray segments traced per second (raysegs/s), and they suggest that you can start to do some interesting things with real-time ray tracing when your hardware can do 450 million raysegs/s. The 3.2 GHz Pentium 4 processors used for the paper was able to do real-time ray tracing (30 FPS) at 100M raysegs/s, and the authors measured a linear speedup in performance as they scaled the number of CPUs. If you do the math, this means that five P4 processors get you into the “interesting” range.
(…)
You may not need to spring for a four-core system to do real-time ray tracing, however, because dedicated hardware could do the trick. Researchers at Saarland University have used an FPGA to build a dedicated ray tracing processor that can’t quite yet do real-time ray tracing, though it does show promise. The FPGA, which implements what the researchers are calling a ray tracing processing unit (RPU), runs at only 66MHz, but it can render some reasonably complex scenes at 512x384 and from 1.2 to 7.5 FPS. An RPU implemented on a CMOS process with a more respectable clock rate should be able to do real-time ray tracing at higher resolutions. (The RPU’s designers don’t use the same raysegs/s metric that the Intel group came up with, so direct comparisons between the software techniques described above and the RPU are difficult.)[/quote]

On peut se dire que c’est pas si loin que ca…

[quote=“Tzim, post:8, topic: 30269”]Euh vous avez lu la news d’ARS ?

Non, pasque quand je lis ca :
On peut se dire que c’est pas si loin que ca…[/quote]

Je n’ai effectivement pas lu l’article d’ARS. Je rebondissais seulement sur la remarque de Donjohn à propos des super-calculateurs (le fait que ça soit pas nouveau, tout ça…) et de l’intérêt de la news B)

Wahou, dites moi pas que c’est pas vrai, ils sont en train de pondre une puce dédiée raytracing (c’est à dire une puce donc les fonctions sont hyper réduites, du genre “calculer l’intersection d’un rayon r avec une sphère, avec la normale au point d’intersection”).
Ouais, bon, ils ont pas inventé l’eau tiède les mecs là; c’est bien, y’a de l’idée que 30 ont eu avant eux.
Si y’a pas un grand groupe décideur derrière (Ati, nVidia, Intel, ou Microsoft), ce truc n’aboutira à rien, et on continuera à faire flamber la puissance pour calculer du polygone.

PS : “voxel vraincra”… mouahahah… qu’est-ce qu’on pouvait raconter comme connerie à la sortie d’outcast.

hey, il y en a qui y croient encore. et pas seulement Ken Silverman.

ah si en fait, seulement lui.

Il me semble aussi que d’un point de vue algo, si on augmente la complexité d’une scéne (le nombre de poly), le ray tracing est plus efficace que le zbuffer. En gros on sait déjà depuis longtemps que le zbuffer était interessant avec un nomre de polygone limité, mais jusque là on était pas près de l’atteindre.

Y’avait pas eu un projet de carte graphique accélératrice pour le raytracing, à l’époque de la PowerVR et consorts ? Il me semble, mais de là à en retrouver le nom…

ça sent à plein nez les déclarations visant à attirer les brouzoufs des investisseurs…

Le ray tracing, c’est une industrie, il y a des tas de gens pas mauvais qui font de la recherche sur ce domaine dans plein de grosses boites, et eux, ils arrivent, et disent qu’ils vont accélérer les calculs d’un facteur 100?

Je pense qu’au mieux on va voir arriver des petits bouts de raytracing dans des sous étapes de ce qui ce fait aujourd’hui…

(le voxel n’est pas mort, aujourd’hui ça s’appelle du “displacement mapping” B) )

C’est très vieux le papier d’Intel sur le raytracing temps réel. IDF Fall 2005, et ils avaient invité l’auteur de POV qui venait justement parler de ça. Un gars… spécial. Mais on s’égare.

Y’a un problème simple, quand un joueur veut upgrader les perfs de son PC pour jouer, il pense direct à changer de carte graphique. Ca, c’est le mal pour Intel, ils veulent être top priority sur ta shopping list. Et ils feront tout pour trouver des solutions pour le redevenir. Mais parler de raytracing temps réel c’est juste un moyen de rappeler aux ados boutonneux de la carte 3D qu’il faut arrêter de trop se la péter. Justin Rattner (qui s’occupe du R&D chez Intel) aime bien taper sur certains exec de boites à GPU pour rappeler qui c’est le roi du bac a sable. Mais ce n’est qu’un des moyens à la disposition d’Intel.

Ok, comment dire. On est dans une phase de transition ou l’on multiplie les cores identiques. Ca ne va pas durer. Oui on va avoir du quad core rapidement, et oui on montera a 8/16 sur les serveurs. Mais quel intérêt d’avoir 8 cores identiques sur un CPU pour un desktop ou un laptop ? Ca n’a aucun sens.

L’avenir est ailleurs et j’en ai déjà parlé whatmilles fois. De l’asymétrie. Des cores plus petits, plus spécialisés. De quoi découper des applis mono-threadés. Le raytracing tuer les CG ? Pas sous la forme qu’on lui connait. Mais ajouter quelques cores capables d’accelerer le rendu ? Ha, ouais, ça y ressemble déjà un peu plus.

Faut revenir sur le rachat d’ATI par AMD ?

Un « usage », oui, mais pas pour faire tourner un jeu.

Uber kikoo lol.

N’essayez même pas.

… (cf plus haut)

Si j’ai bien compris, pour une scene rendue en raytracing, seul le proc est utilisé, et la carte graphique ne fait plus rien (ou presque ) ?
Donc un editeur qui crée un jeu devra le programmer soit en raytracing, soit avec la methode “classique” …
Ca serais un peu comme scinder le marché en deux avec d’un coté les pc équipés d’une carte raytracing, de l’autre, les pc classiques …
Jamais aucun éditeur de voudra prendre le risque de sortir un jeu déployable sur une minorité de machine B)

A ma connaissance, ya toujours aucun jeu qui utilise les processeurs 64 bit .

Et comment crois tu que les jeux accelerés 3D sont apparu ? ou ceux profitant d’un vrai son de qualité ?par l’intervention du saint esprit B)
Quand 3DFX a lancé sa voodoo1, il s’est passé exactement ce que tu dis : ceux qui avait pas de carte acceleratrice 3D se sont assis sur ces jeux. Ou y jouaient avec des graphismes tout pourri. Et crois moi qu’a 1700 balles la carte en 1999, yen avait pas beaucoup, des cartes 3D dans les PC. Et pourtant, ca a fini par percer. Mais ca a mis du temps pour arriver a la situation d’aujoud’hui : tu achetes n’importes quel carte, et pouf, ca marche. Avant fallait choisir la bonne (ouais, le glide seulement chez 3dfx …).

Meme chose avec les cartes son, mais bien des années plus tot. A une epoque, fallait configurer dans le jeu la carte son que tu avais, et tout les jeux etaient pas compatible avec toutes les cartes son. Genre t’avais une rolland mais le jeu supportait que adlib, et ben t’etais bon pour utiliser le pc speaker … super !

Donc le marcher scindé entre les possesseur d’une carte « qui fait un truc de plus » et les autres, ca fait peur a personne :smiley:

Euh là, non. Tous les jeux étaient compatibles software et Glide (ou autre API proprio), ce n’est que bien plus tard qu’on a vu apparaître en masse les jeux qui ne pouvaient pas se passer de l’accélération 3D. Bon, y’a toujours des exceptions, genre Ultim@te Race, mais c’était rare au début.

ouais, effectivement; J’ai edité pour rajouter le software. Mais bon, jouer a pod (qui etait une merde) en software, ca revenait a pas y jouer :stuck_out_tongue:
Le pb, c’est que les jeux glide etait pas forceement compatible openGL (et plus tard directX), ce qui fait que fallait pas se planter de carte … Ou alors tu jouais en software B)

Un peu comme a l’epoque des cartes son avant que les sound blaster ne s’imposent.

Ce que je veux dire par la, c’est que des introductions de nouvelle fonctionnalités dont seul un panel restreint des possesseurs de PC profiterons, ca c’est deja fait de nombreuse fois par le passé, et ca se refera encore pour de nouvelle techno.
Donc, c’est pas ca qui limiterai le developpement de carte et de jeu « ray tracing ».
Maintenant, faut voir si c’est vraiment une bonne idée :smiley:

Bon, on va pas se fâcher hein ? B)

En fait je ne suis pas tout à fait convaincu par ton argument, car si ça s’est passé comme ça pour les cartes son et les cartes graphiques, faut aussi se dire que y’a des tonnes de machins innovants qui se sont cassés les dents après n’avoir eu qu’un ou deux jeux les supportant. Moi je pense que les cartes son et les cartes graphiques étaient des évolutions inévitables, y’avait un véritable besoin. Et plusieurs constructeurs se sont attaqués au problème jusqu’à ce que finalement un standard émerge. Dans le cadre du raytracing en temps réel, est-ce vraiment un besoin ? Est-ce que ça va changer l’expérience de jeu au point de donner envie à suffisamment de monde d’investir dedans ? Grande question, mais personnellement j’ai du mal à voir ce genre de techno s’imposer à terme. Ca me rappelle le pétard mouillé de la prétendue utilisation massive des nurbs pour la 3D à l’arrivée du MMX :smiley: