Bonjour !
Je connais la partie théorique du principe du multipass rendering mais j'ai du mal à voir comment peut s'articuler le code de ce type de rendu (en openGl pour ma part).
Est-ce que ce sera du type:
Ou plutôt quelque chose du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 void draw() { /* pass 1 */ -- instructions specifiques pass 1 -- for each object { drawObject(); /* = instructions Gl */ } /* pass 2 */ -- instructions spécifiques pass 2 -- for each object { drawObject(); /* = instructions Gl */ } }
ou encore deux appels consécutifs à draw() avec un paramètre qui donnerait le numéro de pass ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 void draw() { for each object { /* pass 1 */ -- instructions specifiques pass 1 -- drawObject(); /* = instructions Gl */ /* pass 2 */ -- instructions spécifiques pass 2 -- drawObject(); /* = instructions Gl */ }
ou autre chose qui n'aurait rien à voir ?
Comment est fait le culling, rastering et autres fonctions fixe du pipeline dans un algo multipass ? Pour chaque objet pour chaque pass ?
Merci de m'éclairer
Partager