The Reyes Image Rendering Architecture Robert L.Cook Loren Carpenter Edwin Catmull
Description de l’algorithme de rendu Reyes : Sommaire Introduction Analyse du problème Solutions choisies Description de l’algorithme de rendu Implémentation, extensions futures Conclusion
INTRODUCTION
Reyes = Radical EYE Software , 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) 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) 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) 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 répondait aux attentes. 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).