2009-02-26 5 views
2

La fonction gluPerspective() peut être utilisée pour définir les plans de clipping Z et Z proches.Clipping frustum à plusieurs vues

Je souhaite dessiner une scène découpée dans un certain plan Z éloigné, et dessiner une autre scène au-delà de ce plan Z. Est-il possible de faire ce découpage deux fois par image?

Répondre

1

Il n'y a aucune raison de ne pas pouvoir le faire.

Configurez simplement la première perspective, dessinez la première scène, puis configurez la deuxième perspective et dessinez la scène des secondes, le tout dans le dessin de la même image.
Ceci est généralement appelé rendu multi-passes.

1

Vous devrez peut-être dessiner la scène la plus éloignée en premier et faire un glClear(GL_DEPTH_BUFFER_BIT); avant de dessiner la scène la plus proche.

1

Une possibilité consiste à affecter différentes plages de profondeur pour les scènes. Certains pseudo-code serait:

glDepthRange(0.5, 1.0) 
    draw_far_scene 
    glDepthRange(0.0, 0.5) 
    draw_near_scene 

Vous devez configurer vos matrices de projection pour effectuer la coupure appropriée pour les scènes près de/loin.

L'affectation des plages de profondeurs est nécessaire pour empêcher le buffer de profondeur de "fusionner" les deux rendus.

Questions connexes