La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Découpage des objets selon le volume de vue. 2 Découpage des objets Dans OpenGL, lorsque les objets de la scène ont été transformés à partir des matrices.

Présentations similaires


Présentation au sujet: "Découpage des objets selon le volume de vue. 2 Découpage des objets Dans OpenGL, lorsque les objets de la scène ont été transformés à partir des matrices."— Transcription de la présentation:

1 Découpage des objets selon le volume de vue

2 2 Découpage des objets Dans OpenGL, lorsque les objets de la scène ont été transformés à partir des matrices « MODEL-VIEW » et « PROJECTION », nimporte quel objet qui nest pas complètement à lintérieur du volume de vue est découpé. Le volume de vue qui correspond aussi au volume de découpage est défini à partir de six plans de découpage. Ces 6 plans de découpage sont définis grâce à lune des 2 fonctions suivantes : glOrtho(GLdouble gauche,GLdouble droite, GLdouble bas,GLdouble haut, GLdouble proche,GLdouble loin); Projection parallèle orthographique loin bas proche haut gauche droite Direction vers le point de vue

3 3 Découpage des objets glFrustum(GLdouble gauche,GLdouble droite, GLdouble bas,GLdouble haut, GLdouble proche,GLdouble loin); Projection en perspective loin bas proche haut gauche droite caméra

4 4 Plans de découpage additionnels Nous pouvons définir jusquà 6 plans supplémentaires pour réduire davantage le volume de vue. Chaque plan est défini par les coefficients A, B, C et D de son équation Ax + By + Cz + D = 0. Le demi-espace considéré comme faisant partie du volume de vue est de la forme Ax + By + Cz + D 0. Le volume de découpage devient lintersection entre le volume de vue et lensemble des demi-espaces définis par ces plans de découpage additionnels. Les polygones découpés font lobjet dune reconstruction automatique de leurs bordures par OpenGL. Pour définir un plan de découpage, nous avons la fonction suivante : void glClipPlane(GLenum plan, const GLdouble * equation); oùle paramètre « equation » pointe vers les 4 coefficients A, B, C et D, le paramètre « plan » correspond à GL_CLIP_PLANEi, 0 i 5.

5 5 Plans de découpage additionnels Pour vous permettre dutiliser un plan de découpage additionnel, vous devez lactiver : glEnable(GL_CLIP_PLANEi); Si vous désirez rendre ce plan inutilisable, vous devez le désactiver en procédant ainsi : glDisable(GL_CLIP_PLANEi);

6 6 Exemple GLuint No_sphere; void Initialisation(void) { No_sphere = glGenLists(1); glNewList(No_sphere, GL_COMPILE); glutWireSphere(1.0, 20.0, 16.0); glEndList(); glClearColor(0.0, 0.0, 0.0, 0.0); } void affichage( void ) { GLdouble eqn1[4] = {0.0, 1.0, 0.0, 0.0}; GLdouble eqn2[4] = {1.0, -1.0, 0.0, 0.0}; glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); glPushMatrix(); glClipPlane(GL_CLIP_PLANE0, eqn1); glEnable(GL_CLIP_PLANE0); glClipPlane(GL_CLIP_PLANE1, eqn2); glEnable(GL_CLIP_PLANE1); glCallList(No_sphere); glPopMatrix(); glFlush(); }


Télécharger ppt "Découpage des objets selon le volume de vue. 2 Découpage des objets Dans OpenGL, lorsque les objets de la scène ont été transformés à partir des matrices."

Présentations similaires


Annonces Google