Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
IRIS GL et OpenGL gèrent les matrices et les transformations de manière similaire. Toutefois, il existe plusieurs différences à garder à l’esprit lors du portage du code à partir de IRIS GL :
Dans OpenGL, vous êtes toujours en mode double matrice ; il n’existe aucun mode à matrice unique.
Les angles sont mesurés en degrés, au lieu de dixièmes de degrés.
Les appels de matrice de projection, comme glFrustum et glOrtho, se multiplient maintenant sur la matrice actuelle, au lieu d’être chargés sur la matrice actuelle.
La fonction OpenGL, glRotate, est très différente de faire pivoter. Vous pouvez faire pivoter autour de n’importe quel axe arbitraire, au lieu d’être limité aux axes x, y et z. Par exemple, vous pouvez traduire :
rotate(200*(i+1), 'z');
À:
glRotate(.1*(200*(i+1), 0.0, 0.0, 1.0);
Lors de la traduction de faire pivoter vers glRotate vous basculez vers des degrés de dixièmes de degrés et remplacez « z » par un vecteur pour l’axe z.
OpenGL n’a pas d’équivalent à la fonction polarview. Vous pouvez le remplacer facilement par une traduction et trois rotations. Par exemple, vous pouvez traduire :
polarview(distance, azimuth, incidence, twist);
À:
glTranslatef( 0.0, 0.0, -distance); glRotatef( -twist * 10.0, 0.0, 0.0, 1.0); glRotatef( -incidence * 10.0, 1.0, 0.0, 0.0); glRotatef( -azimuth * 10.0, 0.0, 0.0, 1.0);
Le tableau suivant répertorie les fonctions de matrice OpenGL et leurs fonctions IRIS GL équivalentes.
IRIS GL, fonction | OpenGL, fonction | Signification |
---|---|---|
mmode | glMatrixMode | Définit le mode matrice actuel. |
glLoadIdentity | Remplace la matrice actuelle par la matrice d’identité. | |
loadmatrix |
glLoadMatrixf,glLoadMatrixd |
Remplace la matrice actuelle par la matrice spécifiée. |
multmatrix |
glMultMatrixf,glMultMatrixd |
Post-multiplie la matrice actuelle avec la matrice spécifiée (notez que multmatrix prédéfini). |
mapw, mapw2 | gluUnProject | Projets coordonnées d’espace mondial vers l’espace objet (voir également gluProject). |
ortho | glOrtho | Multiplie la matrice actuelle par une matrice de projection orthographique. |
ortho2 | gluOrtho2D | Définit une matrice de projection orthographique à deux dimensions. |
perspective | gluPerspective | Définit une matrice de projection de perspective. |
choisir | gluPickMatrix | Définit une région de sélection. |
popmatrix | glPopMatrix | Affiche la pile de matrices actuelles, en remplaçant la matrice actuelle par celle ci-dessous. |
pushmatrix | glPushMatrix | Envoie la pile de matrices actuelles vers le bas d’un, en dupliquant la matrice actuelle. |
faire pivoter |
glRotated,glRotatef |
Fait pivoter le système de coordonnées actuel par l’angle donné sur le vecteur de l’origine à travers le point donné. Notez que faire pivoter pivoté uniquement sur les axes x, y et z. |
mise à l’échelle |
glScaled,glScalef |
Multiplie la matrice actuelle par une matrice de mise à l’échelle. |
traduire |
glTranslatef,glTranslated |
Déplace l’origine du système de coordonnées vers le point spécifié, en multipliant la matrice actuelle par une matrice de traduction. |
fenêtre | glFrustum | Les coordonnées données pour les plans de découpage, multiplient la matrice actuelle par une matrice de perspective. |
OpenGL a trois modes de matrice, qui sont définis avec glMatrixMode. Le tableau suivant répertorie les modes disponibles en tant que paramètres pour glMatrixMode.
Mode matrice IRIS GL | Mode OpenGL | Signification | Profondeur de pile minimale |
---|---|---|---|
MTEXTURE | GL_TEXTURE | Fonctionne sur la pile de matrice de texture. | 2 |
MVIEWING | GL_MODELVIEW | Fonctionne sur la pile de matrices de vue de modèle. | 32 |
MPROJECTION | GL_PROJECTION | Fonctionne sur la pile de matrices de projection. | 2 |