reyes - LaBRI

publicité
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).
Téléchargement