| ||||||
Bien, on passe maintenant aux Render Buffers. Dans la partie précédente, nous avons codé une méthode permettant d'en créer un très facilement. Son prototype est le suivant :
Fut un temps, nous aurions appelé cette méthode deux fois : une pour le Depth Buffer et l'autre pour le Stencil. Cependant, les choses ont changés et ce système ne semble plus fonctionner avec OpenGL 3. Au lieu d'avoir deux buffers séparés, nous n'en avons maintenant plus qu'un seul qui remplit le rôle du Depth et du Stencil. Notre petit schéma n'est donc plus exact, il doit être modifié pour fusionner les deux Render Buffers : Ce schéma est plus proche de la réalité. En définitif, nous n'appellerons pas la méthode creerRenderBuffer() deux fois mais une seule fois. Nous lui donnerons en paramètre l'attribut m_depthBufferID qui accueillera le "double-buffer" ainsi que la constante GL_DEPTH24_STENCIL8 pour le format interne. Cette constante permet de :
L'appel final ressemble donc à ceci :
Attention, nous utilisons bien une référence pour le premier paramètre, ce n'est donc pas une copie qui est envoyée à la méthode. Quelle simplicité, nous venons de créer un double-buffer en seulement une lignes de code. Petite récapitulatif :
| ||||||
|