supinfo
Ouverture de  SUPINFO USA à San Francisco en 2008. Des études en informatique en Californie à un tarif abordable ! Inscrivez-vous dès maintenant !
supinfo
Connexion :

Recherche

  
   Tout| Actus| Télécharger| Pilotes| Comparateur de prix| Dossiers| Forums| Jeux

158 messages
ok
arf du raytracing en temps reel... mais il gère tout en temps reel??? ça me parait impossible.. sachant que le raytracing lance les rayons des pixels de l'image vers la camera et qu'ainsi il gère reflections, refractions et ombres avec gestion de la radiosité et tt ce qui va avec... je bosse sur maya et je vois le temps de rendu presque multiplié par 2 dès que je met un peu de radiosité... il m arrive souvent d avoir des rendu d'une dizaine d heures avec mon povre petit core 2 duo qui souffre! je pense donc que ça doit etre une gestion sommaire du raytracing qui est faite en temps reel... intel nous promet depuis quelques années un accelerateur materiel de ray tracing pour le domaine de l infographie 3d et à ce que j ai entendu il est loin d etre aboutit donc je me demande jusqu'ou va cette gestion du raytracing dans quake 4...

le ray tracing ne change fondamentalement rien à la conception d'un jeu. On trouve toujours des polygones. Le raytracing permet juste des shader (materiaux) gérant la refraction et la reflection d'une manière réaliste, imaginez par exemple pour le rendu de l'eau! et surtout le raytracing est un calcul mathematique de la lumière ce qui permet de gérer les ombres et lumières d'une manière très réaliste.

manquerais plus que l'occlusion en temps reel et ça serait parfait ;-)
 
 
Lamtd a écrit:
dans l'immédiat, c'est sûr que ça ne servirait à rien, car à puissance disponible égale, un jeu serait plus joli en raster qu'en raytracing... mais une fois qu'on aura atteint les limites du raster (et ça arrivera un jour), on sera bien content d'avoir autre chose sous la main :)
Alors là, c'est pas garanti...

Effectivement, à l'heure actuelle en raster, c'est plus rapide qu'en RT. Mais il ne faut pas oublier que le RT se fait en software alors que le raster se fait en hardware.
Pour ceux qui en doutent: essayer de faire tourner un jeu 3D sans aucun support de l'accélération matérielle des GPU. Au hasard, un jeu de combat récent (Tekken ou Soul Blade) sur MAME... Z'allez voir un peu la galère, pour des graphismes quand même nettement dépassés...

Si le RT est loin derrière, c'est aussi et surtout parce qu'il n'existe pas encore (à ma connaissance) de matériel capable de le supporter en hardware... :sweet:

mat06 a écrit:
ça me parait impossible.. sachant que le raytracing lance les rayons des pixels de l'image vers la camera et qu'ainsi il gère reflections, refractions et ombres avec gestion de la radiosité et tt ce qui va avec... je bosse sur maya et je vois le temps de rendu presque multiplié par 2 dès que je met un peu de radiosité...
Oui, mais le raytracing n'est pas la radiosité. :ane:
 
 
lithium a écrit:

Nobigbrother: je sais pas de quel logiciel tu parle mais dans blender la radiosité fait partie des materiaux pour les objets simplement et est donc rendu avec la raytracing


Bien entendu tous les softs de 3d modernes peuvent utiliser Raytracing + Radiosité dans la meme scene.
mais la il etait question des avantages de chaque techniques: raytracing VS radiosité.

Dans les soft modernes les eclairages directs/reflections c'est du raytracing et ce qui est indirect de la radiosité... dans la même scene.

(impossible de faire une sphere de verre avec UNIQUEMENT de la radiosité, et impossible de faire un eclairage indirect avec le raytracing sans utiliser d'artifices)

vala
 
 
LardonCru a écrit:
Effectivement, à l'heure actuelle en raster, c'est plus rapide qu'en RT. Mais il ne faut pas oublier que le RT se fait en software alors que le raster se fait en hardware.

Oui, mais meme en software, le raster reste a priori plus rapide que le raytracing... ce qui fait qu'a puissance égale, on aura des scenes plus complexes en raster qu'en raytracing (a moins que les optimisations récentes aient changé la donne, mais j'en doute ?)
 
 
Lamtd a écrit:
Oui, mais meme en software, le raster reste a priori plus rapide que le raytracing... ce qui fait qu'a puissance égale, on aura des scenes plus complexes en raster qu'en raytracing (a moins que les optimisations récentes aient changé la donne, mais j'en doute ?)
Le "à puissance égale" est trompeur. Ca dépend essentiellement de la qualité de l'optimisation hardware.

Un exemple dans un autre domaine: les CPU. D'un côté, les RISC, de l'autre, les CISC (dont les x86).
En puissance brute, les RISC sont parfois au dessus des CISC. Sauf que les CISC disposent de tout un tas d'instructions optimisées (SSE et autres...) qui accélèrent grandement le temps de calcul sur certaines applications spécialisées.
L'exemple caricatural, c'est les CPU de chez Via. Le plus puissant de leurs C7 arrive péniblement à la cheville d'un PIII 500 pour la plupart des applications. Mais dès qu'il s'agit d'encryption (en hard sur ces CPU), le C7 met une branlée à un C2D et peut-être aussi à un Core 2 Quad...
L'autre exemple peut provenir des GPU... L'évolution l'a montré, ils intègrent de plus en plus de fonctionnalités avancées en hard... N'importe quel CPU est capable de faire de l'anti-aliasing, de l'anisotropic filtering et autres... Mais à quel prix?

Moralité, si le RT n'est pas du tout démocratisé, c'est essentiellement parce que c'est "trop lent". Et c'est "trop lent" essentiellement parce qu'il n'existe pas, à l'heure actuelle, de processeur optimisé pour effectuer ce genre de calculs... Et on ne développe pas ce genre de GPU parce que le RT est encore un "marché de niche"... Pas démocratisé, etc etc...
Cercle vicieux, donc... Le RT et la radiosité ne s'imposeront qu'à partir du moment où cette puissance de calcul spécialisée sera disponible, et quand les autres méthodes montreront leurs limites.
 
 
[quote="LardonCru"][quote="Lamtd"]Oui, mais le raytracing n'est pas la radiosité. :ane:[/quote]

:ane: je voulais parler du light radius des lampes en raytrace... c'est ce qui permet de regler ces ombres RT pour les avoir plus ou moins diffuses...
 
 
Ca, c'est ce qu'annonce intel, après ça a pas tant évolué que ça:

En 2004 je faisais tourner un programme d'un de mes profs qui faisait du raytracing grâce a des math pluckerienne (me deamndez pas ce que c'est, cherchez sur wikipedia :P), et le fait est, que sans accélération processeur particulière (compilé en -O3 -ffast-math -funroll-loop avec gcc, mais aucun code SSE/SSE2/3DNow/Etc.) j'arrivai a rendre la scène sur mon Athlon XP (je sais plus quelle PR, ss doute 1700+) à 16fps sur du 1024x768. Bref ils devaient underclocker leur 50 Xéons de la mort pourqu'ils crachent 4fps!

Néanmoins les scènes étaient simples, notamment sans transparence. Mais pas plus tard qu'1 ou 2 an(s) après(j'avoue ne plus savoir exactement, mais s'il faut je dois pouvoir retrouver dans mes archives), je testai les possibilités de programmation des CG, et faisais manger du raytracing avec boules reflechissante/transparente avec refraction/normale posé sur un socle semi réfléchissant à plus de 30FPS à ma chtite NVidia quin'avait rien d'un monstre(je crois que ma CG était un GeForce 6800 ou ptet même une 5200 PCI !).

Le raytracing profite clairement des possibilités de parallèlisation, et une 8800 GTX brille certainement plus dans le domaine (avec ses 128 "core" specialisé dans le traitement d'image) que le CPU(avec ses 3-4 core qui se courent apres et uqui sont généralistes au possible), puisque la CG est fait pour traiter des matrices et des pixels.

Donc pour moi, le raytracing: oui ! le fait de le faire dans le processeur ... aucun intéret! On transforme les processeurs en augmentant le nombre de core et en leur rajoutant des instructions pour traiter des tableaux de données... bref on les transforme en carte graphique, normale que leurs performance se ressemblent.

Pour ma part je laisse tout de même la carte graphique gagnante dans le domaine. En plus si le processeur est accaparé a faire du raytracing, alors l'IA des jeux sera con comme ses pieds, et la physique on pourra s'asseoir dessus (ou le faire faire par la CG !!!!!!!)

Personnellement je trouve bizarre le virage que tentent de prendre les constructeur pour ne pas trop faire peur aux développeur: spécialiser les core pour faire une partie du boulot d'un autre système, pour dire qu'on a un core en plus qui est exploité, parceque les developpeur savent pas programmer pour une architec ture parallèle (pour ce domaine, LE langage, c'est Erlang, mais ca boulverse un peu les habitudes, même si ce langage existe depuis 20 ans et qu'il est utilisé dans les télécom pour avoir des système massivement parallèles et fiables... sans doute qu'une part des appels téléphonique que vous avez passé dans votre vie a été traité par du Erlang, pardes programmes qui peuvent atteindre plus de 2millions de lignes de code sur ces appareils ...)
 
 
mat06 a écrit:
:ane: je voulais parler du light radius des lampes en raytrace... c'est ce qui permet de regler ces ombres RT pour les avoir plus ou moins diffuses...
Effectivement au niveau du temps de calcul, c'est une horreur, puisque le moteur doit effectuer plusieurs fois le calcul... :sweet:
 
 
LardonCru a écrit:
Le "à puissance égale" est trompeur. Ca dépend essentiellement de la qualité de l'optimisation hardware.

Oui mais non :ane:

Je suis d'accord avec ton raisonnement, mais au départ il n'y avait pas d'optimisation hardware justement; quand tout était en software, on préférait déja le raster au raytracing dans les jeux, a priori parce que c'était plus rapide a calculer, non ? L'optimisation hardware n'est venue qu'apres que le choix se soit porté vers une des deux méthodes. Donc pour moi, le fait qu'on ait optimisé le hardware pour le raster au lieu du raytracing vient du fait qu'a l'époque c'était la méthode qui donnait de meilleurs résultats avec les fréquences et le nombre de transistors disponibles (ce que j'entendais par "puissance égale").

Maintenant, avec la multiplication des cores, le fait que le raytracing soit hautement parrallélisable, et les découvertes récentes sur le sujet, peut-etre que ce ne serait plus le cas. Malheureusement, comme tu le dis on est dans un cercle vicieux, donc ca risque de prendre du temps avant que la tendance ne s'inverse. :/
 
 
plus qu'a attendre qu'un nouveau 3DFX casse la barraque quoi

Note : je me souviens des demos que kyro de St µelectroncis, et la technologie qu'il employait (PowerVR) n'avait pas un peu de ça dans son concept ?
Edité le 24/09/2007 à 05:40
 
 
En ayant lu comment les commentaires ont évolués ... ça me fera toujours autant sourire les commentaires de clubic ...

Pour ceux qui sont là à toujours dire "je pense que XXXX, parce que YYYY" .... dites vous que dans les commentaires, il y a aussi des gens qui sont *professionnels* et bossent dans le milieu, et donc sont plus au courant que vous ....

Tout ça pour dire que ... si vous pensez que le RTRT à pas d'avenir dans le jeu ... vous avez tout faux, vu qu'il est déjà actuellement utilisé ( et pas spécialement pour le rendu ).

Bref ... j'ai encore perdu du temps pour rien ... vu que c'est pas mon commentaire qui fera évolue la mentalité des gens ....

*** rêve d'un monde idéal ***
 
 
> dites vous que dans les commentaires, il y a aussi des gens qui sont *professionnels* et bossent dans le milieu, et donc sont plus au courant que vous ....

Malheureusement, ce n'est pas systématiquement le cas. Il existe certains amateurs ( quelque soit le domaine) qui pourraient en apprendre aux prétendus professionnels
 
 
Franck a écrit:

Malheureusement, ce n'est pas systématiquement le cas. Il existe certains amateurs ( quelque soit le domaine) qui pourraient en apprendre aux prétendus professionnels

Ces pas faux ... mais si c'est bien argumenté pourquoi pas ... quand on lis les posts de certains *novices* qui ne sont ni argumentés, ne se reposent sur rien, voirent déforme la réalité ... ça fait peur ...
 
 
Franck a écrit:
> dites vous que dans les commentaires, il y a aussi des gens qui sont *professionnels* et bossent dans le milieu, et donc sont plus au courant que vous ....

Malheureusement, ce n'est pas systématiquement le cas. Il existe certains amateurs ( quelque soit le domaine) qui pourraient en apprendre aux prétendus professionnels


tout à fait, je suis nouveau dans le monde de l'infographie 3d et j avoue que j utilise le raytracing tous les jour sans pour autant en connaitre son fonctionnement exact... Je sais juste que c'est un lancé de rayons qui dans la pratique permet d'avoir des éclairages plus realistes ainsi que de la reflection et de la refraction. ensuite je suis tout ouie pour en apprendre plus! connaitre le fonctionnement exact de celui ci me permettrai peut etre de mieux l'utiliser. J attend donc qu'un utilisateur amateur ou un pro m'éclaire sur le sujet ce qui pourra sans doute servir a tout le monde ici.

J'ai donc quelques questions, la raytracing est accéléré pour les objets polygonaux par des methodes permettant de voir quelle parties d'un objet est affiché pour ne pas lancer de rayons inutilement et perdre un précieux temps de calcul, corrigez moi si je me trompes...
sous quelles conditions le ray tracing arrive il a etre en temps reel?
s'il arrive a etre rendu en temps reel pourquoi est ce si long avec maya par exemple? c'est du a la complexité des scenes?
ou en est le projet d'intel d acceleration materielle du raytracing?
pourra t il etre applicable au rendu 3d sous maya?

aussi pas vraiment de rapport mais j aimerais savoir pourquoi une crate graphique traditionnelle ne sert pas pour le rendu sous logiciels tel que maya? J'ai mon idée mais je voudrais confirmation ;)
 
 
mat06 a écrit:
J'ai donc quelques questions, lE raytracing est accéléré pour les objets polygonaux par des methodes permettant de voir quelle parties d'un objet est affiché pour ne pas lancer de rayons inutilement et perdre un précieux temps de calcul, corrigez moi si je me trompes...
Oui et non. Il y a des structures découpant l'espace en sous zones elles-mêmes découpées etc. jusqu'à avoir de petites zones. Pour chaque rayon on test rapidement quelles zones le rayon traverse et on ne calcule les intersections objets/rayons que dans ces zones. Mais on découpe rarement des objets polygonaux (à moins que tu appelles un niveau complet "objet"), même si pour certains gros objets cela peut être valable. Un petit objet concave ne sera jamais découpé. Un personnage pourquoi pas, en s'inspirant de ce que font les moteurs de collision : une hiérarchie de volume de collision permettant d'en ignorer rapidement de grandes portions.

mat06 a écrit:
sous quelles conditions le ray tracing arrive il a etre en temps reel?
Le RT n'est fait que de calcul mathématique plus quelques astuces pour éviter les calculs lourds si on peut s'appercevoir rapidement qu'ils seront inutiles (test rapide pour savoir si un rayon passe loin d'un objet). A code identique la vitesse du RTRT évolue à peu près linéairement avec la puissance de calcul dispo (dépend de l'architecture cpu, fréquence, nombre de cores). De nouvelles optimisations spatiale permettent d'accélérer le rendu plus vite que cela.

mat06 a écrit:
s'il arrive a etre rendu en temps reel pourquoi est ce si long avec maya par exemple? c'est du a la complexité des scenes?
Plus de précision dans les calculs, algo(s) d'éclairage plus complexe(s)/réaliste(s), vraie global illumination, moins de limitations (qui permettent d'optimiser des cas particuliers dans les RTRT), support de scènes non statiques et d'objets animés dans Maya...

mat06 a écrit:
aussi pas vraiment de rapport mais j aimerais savoir pourquoi une crate graphique traditionnelle ne sert pas pour le rendu sous logiciels tel que maya? J'ai mon idée mais je voudrais confirmation ;)
Par défaut la carte graphique ne sert qu'au "rendu de base/de travail" de Maya/3ds pour afficher les vues et travailler la scène. Certes pas avec la même qualité que le(s) moteur(s) de rendu.

Toutefois les cartes graphiques peuvent aussi servir pour avoir un meilleur rendu temps réel dans Maya/3ds : Cg de nVidia a un moteur de rendu pour Maya permettant d'utiliser des pixels shaders comme les jeux. En ayant un workflow "intelligent" d'export vers le jeu, utilisant par exemple ColladaFX, on peut permettre aux graphistes de paramétrer un übershader, leur permettant 1) d'avoir le même rendu que dans un jeu PC (aux ombres près) et 2) de paramétrer très finement, précisément et en temps réel l'aspect qu'aura leur objet dans le jeu.
Edité le 25/09/2007 à 03:52
 
 
merci pour ces éclairages tfpsly...

tu répond en partie à ma dernière partie, je sais que la carte ne sert en général qu'au viewport dans la plupart des cas. Cependant quelles sont les limitations techniques qui font que la carte graphique ne puisse pas intervenir sur le rendu? Je suppose que ça doit etre à cause des optimisations des api des cartes graphiques qui ne permettent pas les calculs plus complexes d'une scene 3d. Pourquoi ne peut-on tout simplement pas utilisé les capacités de calcul du GPU?

Il me semble au avec les radeons 2x00 (et les prochaines geforces) ati (et nvidia) veut faire en sorte que les capacités de calcul du gpu puisse aider le processeur dans les calculs hautement parrallelisable. Cela je pense pourra donc accelerer les rendus?
 
 
mat06 a écrit:
tu répond en partie à ma dernière partie, je sais que la carte ne sert en général qu'au viewport dans la plupart des cas. Cependant quelles sont les limitations techniques qui font que la carte graphique ne puisse pas intervenir sur le rendu?
Il y a encore de grosses différences de qualité entre un rendu de jeu et un rendu sous pipeline Maya - la plupart des films comportent des scènes entièrement ou partiellement rendue par exemple.

[HS]à noter que 90% des pixels d'un film n'ont aucune existence réelle, même pour ce qui semble ne pas avoir besoin de CG. Aujourd'hui les producteurs vont jusqu'à exiger que l'on prenne telle prise d'un personnage en remplaçant l'un des bras par celui d'une autre prise qu'ils jugent meilleurs :-O[/HS]

mat06 a écrit:
Je suppose que ça doit etre à cause des optimisations des api des cartes graphiques qui ne permettent pas les calculs plus complexes d'une scene 3d. Pourquoi ne peut-on tout simplement pas utilisé les capacités de calcul du GPU?
Un GPU a des entrées limitées : vertexes (raster pour le pixel shader) avec ses paramètres (quelques couleurs, quelques UV) et des textures. Pas de quoi avoir des infos globales sur la scène (genre tel objet pas très loin va rediffuser de la lumière de telle couleur). Donc la global illumination par exemple est quelque chose qui en est à ses balbutiements dans le temps réel, avec pleins de passes rendu temporaire dans des textures de l'environnement, plus un pixel shader assez lourd pour décider quelles parties de ces textures utiliser en tant que sources de lumières secondaire...

En plus le cout des calculs dans le pixel shader augmente assez vite avec les exigences des graphistes, qui veulent par exemple des masques pour chaque composante de l'éclairage (diffus, spéculaire, réflection, réfraction...). On finit par avoir tellement d'entrée que ça passe limite en perfs, alors avec un rendu plus réaliste les GPUs s'effondrent.
 
 
Ozymandias a écrit:

Et puis c'est pas dit que ce procédé s'impose un jour dans les jeux vidéo. Regardez Crysis, il à l'air sympa graphiquement, même si le reste semble plutôt banal.

Crysis est très beau mais il n'y a rien de bien révolutionnaire non plus...
Si on veut un jour des jeux vidéos qui aient une qualité d'image identique à un film il faudra passer par le ray tracing.
C'est évident que l'avenir de la 3D et des jeux c'est une qualité d'animation proche du réel identique à celui d'un film.
Edité le 21/11/2007 à 14:21
 
 
 
158 messages
ok
 
Vous devez être connecté pour écrire un message !
 

 Sujets Similaires:


 
Clubic.com
 
Achetez-facile.com
 
Jeuxvideo.fr
 
neteco.com
 
mobinaute.com