L3IF Images
année 2005-2006
http://www710.univ-lyon1.fr/~jciehl/
TD2 - Affichage efficace :
ne dessiner que ce qui est visible !
Vous l'aurez sans doute compris au titre du TD,
l'objectif de la séance est de déterminer rapidement
quels sont les objets visibles pour une position et une orientation de
la caméra et de ne dessiner que ceux la.
La portion de la scène visible est une
pyramide tronquée. C'est la transformation du cube unitaire du
repère de la caméra dans le repère de la
scène. Pour déterminer si un objet est visible, il suffit
de déterminer son inclusion dans la "zone de vision". Ce test
peut bien sur être réalisé dans le repère de
la scène ou dans celui de la caméra. A priori, tester
l'inclusion d'un point dans un cube est plus simple que tester
l'inclusion du même point dans une pyramide tronquée.
Ecrivez une fonction réalisant ce test pour
un point. pour une sphère ? pour une boite quelconque ?
Comment appliquer ce test simple à un objet quelconque ?
Comment appliquer ce test à une scène
composée de plusieurs objets ? composée d'un grand
nombre d'objets ?
Quelques fonctions de manipulations de matrices au
format openGL (transposées et représentées par un
tableau linéaire de 16 réels) sont disponibles dans
l'archive td2.tar.gz (identité, multiplication, multiplication par un vecteur, inverse).
Des informations plus complètes sont également disponibles :
Pour les curieux, vous trouverez la description
complète de la transformation réalisé par openGL
dans le manuel de référence (version 1.5) (version 2).