The Reyes Image Rendering Architecture Robert L.Cook Loren Carpenter Edwin Catmull

Preview:

Citation preview

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).

Recommended