The Reyes Image Rendering Architecture Robert L.Cook Loren Carpenter Edwin Catmull.
-
Upload
leroy-hebert -
Category
Documents
-
view
104 -
download
1
Transcript of The Reyes Image Rendering Architecture Robert L.Cook Loren Carpenter Edwin Catmull.
The Reyes Image Rendering Architecture
Robert L.Cook
Loren Carpenter
Edwin Catmull
Reyes : Sommaire
• Introduction
• Analyse du problème
• Solutions choisies
• Description de l’algorithme de rendu
• Implémentation, extensions futures
• Conclusion
INTRODUCTION
Reyes : Introduction
• Article publié en 1987.
• Reyes = Radical EYE Software ,
Développé par Lucasfilm LTD. et utilisé par Pixar.
• Reyes est un système dont l’architecture a été conçue afin de générer rapidement le rendu photo réaliste de scènes 3D complexes.
ANALYSE DU PROBLEME
Reyes : Analyse du problème (1/2)
• Projet ambitieux Nécessité de repenser entièrement le processus de rendu.
• Complexité :Complexité géométrique (Quantité et diversité des modèles …)Apparence photo réaliste (Lumières, matériaux, déformations …)Animation (2 h de film à 24 fps
calculé en un an => ~ 3 min. par image)
Reyes : Analyse du problème (2/2)
• Exigences :
Images de haute qualité (élimination des problèmes de moiré, d’aliasing,
…)
Flexibilité du logiciel (Incorporation de nouvelles techniques et indépendance vis à vis de l’environnement )
Linéarité du temps de rendu en fonction de la taille du modèle.
SOLUTIONS CHOISIES
Reyes : Solutions choisies (1/7)
I. Simplification des calculs:
- Utilisation d’un système de coordonnées adapté à chaque type de calcul (texturing, culling …)
- Optimisation des calculs (vectorisation, pipeline, parallélisme,…)
Reyes : Solutions choisies (2/7)
II. Unité de modélisation : Micro polygones
- Non limitation du nombre de primitives dans le modèle.
-Uniformisation du type de données utilisé par les algorithmes.
- Subdivision récursive de chaque primitive jusqu’aux micro polygones.
Reyes : Solutions choisies (3/7)
- Caractéristiques des micro polygones:
- quadrilatères plats.
- approximativement de la taille d’un demi pixel
- shading effectué par application d’une seule couleur.
(« shading » = Rendu final)
Reyes : Solutions choisies (4/7)
III. Utilisation des textures:
1. Pour la lumière :
- approximation des effets de lumières non locaux (illumination globale,…).
- lancer de rayon très coûteux, donc on approxime aussi les effets de lumières locaux (réflexion, réfraction, ombres…) par des textures.
[environment maps, shadow maps]
Reyes : Solutions choisies (5/7)
2.Pour les primitives :
- couleur, nature des surfaces.
- perturbation de la normale.
- déformation (mouvements).
[texture maps, bump maps, displacement maps]
conséquence : beaucoup de textures, donc
nécessité d’optimiser leurs accès.
Reyes : Solutions choisies (6/7)
C.A.T : Coherent Access Texture
(i.e qui se calquent sans problème sur la surface)
R.A.T : Random Acces Texture
Par exemple, environnement map dépend de la normale de la surface, alors que le bump map est de type C.A.T
Reyes : Solutions choisies (7/7)
IV. Utilisation d’un stochastic sampling:
- Point sampling : simple et puissant, mais crée de l’ aliasing, incompatible avec l’exigence de qualité d’image.
- Stochastic sampling (méthode de Monte Carlo) remplace l’aliasing par du bruit, plus acceptable.
(Utilisation de « jittering »)
DESCRIPTION DE L’ ALGORITHME DE RENDU
Reyes : Description de l’algorithme de rendu
PRIMITIVES:
bound : délimite les frontières de la primitive.
dice : convertit une primitive en une grille de micro polygones.
split : convertit une primitive en primitives.
cull : ignore pour l’affichage.
MICRO POLYGONES:
shade : aspect de toute la grille.
sample : division de la grille.
back door : rendu « externe »
visibility : screen space / z-buffer.
filter : production des pixels.
IMPLEMENTATION
Reyes : Implémentation
• Grosse consommation de mémoire pour le z-buffer Nécessité de modifier l’algorithme original par subdivision de l’espace en rectangles.
• Ajout de quelques fonctionnalités.
• Implémentation effective de cette version modifiée de l’algorithme en C.
CONCLUSION
Reyes : Conclusion
• Reyes répondait aux attentes.
• Points positifs : simplicité des calculs, gestion des textures (accès), …
• Possibilités d’amélioration: effectuer le sampling avant le shading, améliorer la représentation de certaines primitives par les micro polygones …
• Successeur = Renderman (Pixar).