GRAPHISME PAR ORDINATEUR

Slides:



Advertisements
Présentations similaires
Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Advertisements

Symétrie, groupes ponctuels et groupes spatiaux
VII) Formalisme Quantique
INTRODUCTION.
Cinématique dans l'espace-temps d'un observateur
Réalisation dun travail concret avec des matrices Afficher un objet 3D sur une surface Lui appliqué des transformations Le voir se transformer suivant.
Initiation à 3D Studio Max
PERSONNALISATION D’AUTOCAD 2006
Créer une animation simple Gif avec ImageReady.
Chapitre 2: Les régularités et les relations
IFT3730: Infographie 3D Transformations Géométriques
1 Transformations affines But: fixer le positionnement et lorientation des objets de la scène.
Concepts avancés en mathématiques et informatique appliquées
Transformations de visualisation en OpenGL
Horloge hélio-caustique de temps moyen
SUJETS SPÉCIAUX EN INFORMATIQUE I PIF Contenu du cours Transformations géométriques des objets –Transformations 2D –Transformations entre systèmes.
Rappel... Solution itérative de systèmes linéaires (suite et fin).
GRAPHISME PAR ORDINATEUR
CONSTRUCTION MECANIQUE DECOUVERTE de SOLIDWORKS
Espaces vectoriels Montage préparé par : S André Ross
Transformation linéaires
Modélisation géométrique à l’aide d’un maillage
Transformations de corps rigides
Création d’images virtuelles
Chapitre 4: Objets et Images
Courbes de Bézier.
Visualisation de surfaces décrites analytiquement
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
2.1.6 Matrices homogènes 3D Homogenous representation in 3D:
IFT3730 : Infographie 3D Systèmes et modèles graphiques Pierre Poulin, Derek Nowrouzezahrai Hiver 2013 DIRO, Université de Montréal.
IFT2740 : Outils de l'infographie 3D Systèmes et modèles graphiques
PIF-6003 Sujets spéciaux en informatique I
Rappel... Matrices bloc. Décomposition des matrices:
Système de coordonnées
Examen partiel #1 Mardi le 12 octobre de 19h30 à 21h20 Salles 2880 (Gr.A) et 3860 (Gr. B) du pavillon Vachon. Matière de l'examen: - Livre de Lay: sections.
IFT3355: Infographie Transformations Géométriques
IFT3730: Infographie Projections
Transformations visuelles des objets
Transformations ponctuelles des objets
Chapitre 4ABC Mécanique Cinématique du point
PROGRAMMATION INFORMATIQUE D’INGÉNIERIE II
Chapitre 4 Réflexion et réfraction de la lumière
GRAPHISME PAR ORDINATEUR
Séquence de travail Orientation de la pièce Faire afficher les plans de références Aligner la vue avec les touche CTRL + J Masquer les plans de références.
CHAPITRE III Calcul vectoriel
OUTILS MATHEMATIQUES POUR LES SII
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 10 Textures –Définir la texture –Superposition d’une texture sur une surface plane –Superposition.
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 6 Transformation et animation de plusieurs modèles 3D avec XNA –Chargement des modèles 3D (modèle.
2.1.7 Modèle Géométrique Direct Forward Kinematics
EXPLOITATION DES IMAGES
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 8 Rendu de surfaces –Modèles de rendu de surfaces –Illumination de la scène –Sources lumineuses –Composante.
GRAPHISME PAR ORDINATEUR
Architecture et Fonctionnement d’un GPU Géométrie Rendu.
LCIN4U73 Bases géométriques de l’imagerie
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 3 Introduction à XNA –Modélisation d’objets 3D –Transformations 3D: matrices, systèmes de coordonnées.
Éléments cinétiques des système matériels
GRAPHISME PAR ORDINATEUR
GRAPHISME PAR ORDINATEUR
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
QUATERNION Arithmétique des quaternions
Introduction aux technologies du jeux-vidéo Steve Gury
GRAPHISME PAR ORDINATEUR SIF Contenu du cours 10 Textures –Définir la texture –Superposition d’une texture sur une surface plane –Superposition.
Courbes de Bézier P2 P1 P3 P0 O
Premières notions de la 3D
Faculté Polytechnique Cours 9: Représentation de courbes spatiales Géométrie et communication graphique Edouard Rivière-Lorphèvre.
Pierre Joli Cours de Mathématique Pierre Joli
Pierre Joli Cours de Mathématique Pierre Joli
GEOMETRIE VECTORIELLE
GRAPHISME PAR ORDINATEUR
Transcription de la présentation:

GRAPHISME PAR ORDINATEUR SIF-1032

Contenu du cours 4 Transformations géométriques des objets Transformations 2D Transformations entre systèmes de coordonnées Transformations 3D de base Sommaire des transformations en OpenGL Utilisation des transformations dans un programme Introduction au processus de visualisation avec OpenGL Sommaire des transformations en OpenGL 3.x LECTURES: Chapitre 5

Contenu du cours 4 Transformations géométriques des objets

Transformations géométriques 2D de base Translation La translation d’un point 2D s’effectue par l’addition des distances de décalage tx et ty aux coordonnées d’origine du point (x,y) permettant son déplacement à la position (x’,y’)

Transformations géométriques 2D de base Translation Sous forme matricielle

Transformations géométriques 2D de base Rotation Une rotation est appliquée sur un objet en le déplaçant selon une trajectoire circulaire Nous devons spécifier un angle de rotation () et la position (xr, yr) du pivot SI (xr=0, yr=0)

Transformations géométriques 2D de base Rotation

Transformations géométriques 2D de base Rotation Sous forme matricielle avec

Transformations géométriques 2D de base Rotation Par rapport à un pivot TRANSLATION Rotation suivi d’une translation

Transformations géométriques 2D de base Rotation Par rapport à un pivot 1) Translation T(-xr,-yr) 2) Rotation d’un angle  3) Translation T(xr,yr)

Transformations géométriques 2D de base Changement d’échelle (scaling) Changement des dimensions d’un objet

Transformations géométriques 2D de base Changement d’échelle (scaling) Sous forme matricielle

Transformations géométriques 2D de base Changement d’échelle (scaling) Par rapport à un point de référence Scaling suivi d’une translation

Transformations géométriques 2D de base Shearing Déformation d ’un objet par rapport à un axe donné Direction x Direction y

Transformations géométriques 2D de base Shearing Sous forme matricielle (Direction x)

Transformations multiples (composite) Représentation matricielle et coordonnées homogènes Dans plusieurs applications en graphisme des séquences de transformations graphiques doivent être générées Les représentations matricielles servent de base pour modéliser de façon efficace ces séquences de transformations Les transformations de base peuvent s’écrire Où M1 est une matrice 2X2 et M2 une matrice 2X1

Transformations multiples (composite) Divers cas Translation: M1: matrice identité M2: terme translationnel Rotation: M1: matrice de rotation M2: terme translationnel (pivot) Scaling: M1: matrice des changements d’échelle M2: terme translationnel (point de référence)

Transformations multiples (composite) Une séquence de transformations S-R-T s’effectue: scaling des coordonnées des objets rotation des coordonnées transformées (après scaling) translation des coordonnées (après rotation) La combinaison de ces transformations permet d’améliorer l’efficacité en éliminant le terme additif M2

Transformations multiples (composite) Pour combiner les termes multiplicatifs et translationnels il faut utiliser une forme matricielle M1de 3X3 Dans ce contexte nous pouvons représenter toutes les transformations sous forme de multiplication matricielle Il faut par contre modifier la représenta-tion matricielle des coordonnées des points constituant nos objets

Transformations multiples (composite) Les coordonnées cartésiennes (x, y) sont alors représentées sous forme homogène (xh, yh, h) ou x=xh/h et y=yh/h Alors une représentation en coordonnées homogènes généralisée peut aussi être déduite sous la forme (h x, h y, h) Nous choisissons par simplicité h=1, chaque position est alors représentée en coordonnées homogènes par (x, y, 1)

Transformations multiples (composite) Translation Rotation

Transformations multiples (composite) Scaling

Transformations multiples (composite) Shearing Direction x: SH(shx=0,shy) Direction y: SH(shx,shy=0)

Transformations multiples (composite) Sachant que la multiplication matricielle est associative, les transformations successives sont alors représentées par une matrice 3X3 découlant de la concaténation des matrices individuelles 2 translations successives (tx1,ty1), (tx2,ty2)

Transformations multiples (composite) Cette transformation s’écrit

Transformations multiples (composite) 2 rotations

Transformations multiples (composite) 2 scaling

Transformations multiples (composite) Rotation par rapport à un pivot

Transformations multiples (composite) Matrice des transformations

Transformations multiples (composite) Scaling avec un point de référence

Transformations multiples (composite) Matrice des transformations

Transformations multiples (composite) Forme générale Complexité 4 X et + VS 9 X 6 +

Transformations multiples (composite) Par exemple, si un objet doit subir un changement d’échelle et une rotation par rapport au point (xc, yc) et par la suite une translation, la matrice composite devient

Transformations multiples (composite) Transformations entre systèmes de coordonnées Un objet quelconque peut être défini dans un système de coordonnées cartésien du monde (ex: scène du monde) mais les coordonnées du monde doivent être transformées au préalable pour permettre le positionnement de cet objet par rapport au système de coordonnées de l’écran avant son affichage

Transformations multiples (composite) Transformations entre systèmes de coordonnées Pour transformer la description d’un objet d’un système de coordonnées x y à x’y’ nous devons effectuer une transformation qui doit permettre la superposition des axes du système x’y’ sur ceux du système x y Translation T(-x0, -y0) R(-)

Transformations multiples (composite) Transformations entre systèmes de coordonnées

Transformations multiples (composite) Transformations entre systèmes de coordonnées

Visualisation 2D (Rappel) Une surface dans le système de coordonnées du monde sélectionnée pour l’affichage est appelée une fenêtre. Une surface sur un écran sur laquelle est projetée la fenêtre est un port de visualisation (viewport)

Les transformations de visualisations Visualisation 2D Les transformations de visualisations

Visualisation 2D Le passage des WC au VC

Visualisation 2D WC -> VC

Visualisation 2D VC -> NVC

VC -> NVC Visualisation 2D Pour maintenir les mêmes positions relatives dans les deux représentations nous devons savoir v: viewport w: window

Visualisation 2D VC -> NVC Maintien des positions relatives

Visualisation 2D VC -> NVC Nous pouvons alors déduire (xv,yv) par

VC -> NVC Visualisation 2D Séquences de transformations correspondantes Scaling avec comme point de référence (xwmin,ywmin) (fenêtre) Translation à la position du viewport (xvmin,yvmin)

Transformations géométriques 3D de base Translation La translation d’un point 3D s’effectue par l’addition des distances de décalage tx, ty et tz aux coordonnées d’origine du point (x,y,z) permettant son déplacement à la position (x’,y’,z’)

Transformations géométriques 3D de base Translation Sous forme matricielle (coordonnées homogènes)

Transformations géométriques 3D de base Translation La translation d’un objet 3D revient à déplacer les points de l’objet. Pour un objet 3D représenté par un ensemble de surfaces polygonales, la translation est appliquée sur les sommets. Ensuite, l’objet est retracé

Transformations géométriques 3D de base Translation d’un objet 3D

Transformations géométriques 3D de base Rotation Pour faire subir une rotation à un objet 3D nous devons désigner au préalable un axe et un angle de rotation Une rotation 3D peut s’effectuer par rapport à n’importe quel axe dans l’espace Les rotations les plus simples sont celles par rapport à des axes parallèles aux axes du système de coordonnées Par convention, un angle de rotation () positif produit une rotation anti-horaire par rapport à un axe de coordonnées

Transformations géométriques 3D de base Rotation

Transformations géométriques 3D de base Rotation 3D par rapport à l’axe z

Transformations géométriques 3D de base Rotation 3D par rapport à l’axe z

Transformations géométriques 3D de base Rotation 3D par rapport à l’axe x (x->y->z->x)

Transformations géométriques 3D de base Rotation 3D par rapport à l’axe x

Transformations géométriques 3D de base Rotation 3D par rapport à l’axe y (y->z->x->y)

Transformations géométriques 3D de base Rotation 3D par rapport à l’axe y

Transformations géométriques 3D de base Rotation 3D générale Une rotation par rapport à un axe quelconque est représentée par une combinaison de translations et de rotations par rapport aux axes de coordonnées Cas 1: Axe de rotation parallèle à un axe de coordonnées Translation de l’objet pour amener l’axe de rotation sur l’axe de coordonnées Rotation de l’objet par rapport à cet axe de coordonnées Translation de l’objet pour ramener l’axe de rotation à sa place originale

Transformations géométriques 3D de base Rotation 3D générale Cas 1: Axe de rotation parallèle à un axe de coordonnées

Transformations géométriques 3D de base Rotation 3D générale Cas 1: Axe de rotation parallèle à un axe de coordonnées

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Translation de l’objet pour faire passer l’axe de rotation par l’origine Rotation de l’objet pour faire coïncider l’axe de rotation avec un des axes de coordonnées (axe z) Rotation de l’objet par rapport à cet axe de coordonnées Rotation inverse de l’objet pour ramener son axe de rotation à son orientation originale Translation inverse de l’objet pour ramener l’axe de rotation à sa place originale

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Un axe de rotation peut être défini par 2 points ou par un point et les cosinus directeurs entre l’axe de rotation et les axes de coordonnées

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Un vecteur axial est donné par

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Un vecteur unitaire dans la direction de l’axe de rotation est donné par

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 1: Translation de l’axe de rotation

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 2: Rotation de l’axe de rotation sur l’axe z Rotation par rapport à l’axe x pour amener u dans le plan xz Rotation par rapport à l’axe y pour amener u sur l’axe z

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 2: Rotation de l’axe de rotation sur l’axe z Rotation par rapport à l’axe x pour amener u dans le plan xz

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 2: Rotation de l’axe de rotation sur l’axe z Rotation par rapport à l’axe x pour amener u dans le plan xz L’angle  est l’angle entre la projection de u dans le plan yz et l’axe z La projection de u dans le plan yz est u’ = (0,b,c), cos  et sin  sont donnés par

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 2: Rotation de l’axe de rotation sur l’axe z Rotation par rapport à l’axe y pour amener u sur l’axe z

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Étape 3: Rotation de l’objet par rapport l’axe z

Transformations géométriques 3D de base Rotation 3D générale Cas 2: Axe de rotation non parallèle à un axe de coordonnées Pour accomplir les étapes 4 et 5 il faut effectuer les transformations inverses Rx-1, Ry-1et T-1 La matrice de transformation composée est alors

Transformations géométriques 3D de base Changement d’échelle 3D

Transformations géométriques 3D de base Changement d’échelle 3D

Transformations géométriques 3D de base Changement d’échelle 3D relatif à un point de référence

Transformations géométriques 3D de base Exemple

Sommaire des transformations en OpenGL Pipeline de transformations de OpenGL

Sommaire des transformations en OpenGL Nous avons déjà introduit sous forme d’exemples les transformations matricielles et le modèle d'une caméra synthétique. Nous expliquons maintenant comment la machine OpenGL réalise ces opérations. La machine OpenGL utilise 2 matrices qui sont sélectionnées avec les opérations suivantes: glMatrixMode(GL_PROJECTION); glMatrixMode(GL_MODELVIEW);

Sommaire des transformations en OpenGL Supposons que p est un sommet et que p' est le sommet qui est affiché dans le viewport à l’écran, Supposons que P est la matrice de projection et M la matrice ModelView. OpenGL calcule le produit matriciel suivant: p' = M P p Ce calcul est réalisé lors de la transmission du point p à la machine OpenGL. Chacune de ces matrices peuvent être modifiées selon nos besoins. Ainsi, il faut donc toujours contrôler l'état de chacune de ces matrices.

Sommaire des transformations en OpenGL Normalement, on place la projection dans P et les autres transformations dans M. Pour initialiser une matrice (M ou P) avec une matrice identité, on utilise la commande "glLoadIdentity();". Aussi, OpenGL effectue ses calculs matriciels en effectuant une opération de multiplication matricielle permettant une mise à jour de la matrice de transformation courante CT pour chaque transformation : CT = CT M

Sommaire des transformations en OpenGL Par exemple, pour accomplir une rotation en X de angleX, suivie d’une rotation en Y de angleY, il faut écrire la séquence de commande OpenGL: glLoadIdentity(); // CT = I glRotatef(angleY, 0.0f, 1.0f, 0.0f); CT *= Ry glRotatef(angleX, 1.0f, 0.0f, 0.0f); CT *= Rx

Sommaire des transformations en OpenGL Piles de matrices Une pile de matrices est associée à chaque matrice P et M et des instructions pour manipuler ces piles comme n'importe quelle pile: glPushMatrix(); // sauvegarder glPopMatrix(); //ramener la dernière sauvegardée En plus des opérations de rotation et de translation déjà vues, d’autres opérations permettent la manipulation de matrice: glLoadMatrix() // on fournit les coefficients de la matrice glMultMatrix() // multiplier par une matrice de coefficients glScale() // multiplier x par scaleX, y par scaleY, z par scaleZ

Sommaire des transformations en OpenGL Initialisation des matrices de l'observateur en OpenGL glViewport(0, 0, w,h); // Reset projection matrix stack glMatrixMode(GL_PROJECTION); glLoadIdentity(); // Reset Model view matrix stack glMatrixMode(GL_MODELVIEW); gluPerspective(ouverture,w/h,front,back);

Sommaire des transformations en OpenGL Initialisation des matrices de l'observateur en OpenGL Définition de la taille de la fenêtre OpenGL. Initialisation de la matrice de projection (P) et la matrice ModelView (M). Définition de la position de l'observateur à l'origine, regardant vers l'axe Z négatif. Aussi, la droite est l'axe X positif, et le haut est l'axe Y positif. De plus, on définit un volume de visualisation qui sert à couper des éléments hors du volume de visualisation (clipping). "front" est la distance d'un plan de coupe qui désigne le début en Z de cet espace, "back" marque la fin en Z de cet espace. "ouverture" est l'angle d'ouverture de la pyramide décrivant ce volume de visualisation (frustum).

Sommaire des transformations en OpenGL Visualisation: Permet de spécifier la position de l ’observateur Modélisation: Permet le déplacement des objets dans la scène MODELVIEW: Représente la dualité entre les transformations de visualisation et de modélisation Projection: Permet le découpage et le dimensionne-ment du volume de visualisation Viewport: Permet la mise à l ’échelle finale dans le fenêtre d ’affichage

Sommaire des transformations en OpenGL Transformation MODELVIEW Les transformations de modélisation et de visualisation son dual l ’une avec l ’autre Il n ’existe pas de différence entre déplacer un objet vers l ’arrière et déplacer le système de coordonnées de visualisation dans le sens inverse (vers l ’avant) Il n ’existe pas de différence à faire une rotation  sur un objet et appliquer une rotation -  sur le système de coordonnées de visualisation Le terme MODELVIEW indique que nous pouvons voir cette transformation comme étant soient de modélisation ou de visualisation

Sommaire des transformations en OpenGL Matrice MODELVIEW Matrice de 4X4, représente la transformation requise pour transformer les coordonnées du monde en coordonnées de visualisation Exemple de translation (cube) glutWireCube(10.0f); // dessine un cube de 10 unités // centré par rapport au système de // coordonnées de visualisation glTranslatef(0.0,10.0f,0.0f) glutWireCube(10.0f);

Sommaire des transformations en OpenGL Matrice MODELVIEW Exemple de rotation (cube) glutWireCube(10.0f); glrotatef(90.0f,1.0f,1.0f,1.0f)

Sommaire des transformations en OpenGL Matrice MODELVIEW Exemple deux translations (cube) glutWireCube(10.0f); glTranslatef(0.0,10.0f,0.0f) glTranslatef(10.0,0.0,0.0f)

Sommaire des transformations en OpenGL Matrice MODELVIEW Exemple deux translations par rapport au système de coordonnées de visualisation (cube) glutWireCube(10.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0.0,10.0f,0.0f) glTranslatef(10.0,0.0,0.0f)

Sommaire des transformations en OpenGL Voir l ’exemple ATOM pour l ’utilisation des transformations de base

Sommaire des transformations en OpenGL Voir l ’exemple ATOM pour l ’utilisation des transformations de base

Sommaire des transformations en OpenGL Voir aussi l ’exemple SOLAR (Super Bible, chapitre 5) pour l ’utilisation des transformations de base

Sommaire des transformations en OpenGL L’exemple SOLAR (fonction RenderScene())

Sommaire des transformations en OpenGL L’exemple SOLAR (fonction RenderScene())

Sommaire des transformations en OpenGL L’exemple SOLAR (fonction RenderScene()) La matrice ModelView contient l'identité. On sauvegarde son état (glPushMatrix) On place la lumière à l'origine, et déplace la scène de -300 en Z, Le soleil est alors dessiné et sera donc à la position (0,0,-300). La lumière éclaire dans toutes les directions. Notez que le soleil est en fait dessiné à zéro puis est déplacé de -300 en Z. Donc par rapport au soleil la lumière est à (0,0,0).

Sommaire des transformations en OpenGL Ensuite, on transmet la position (0,0,0) de la lumière, mais après la dernière translation, donc la lumière se retrouve au milieu du soleil. Ensuite, la terre est dessinée, par rapport au soleil: après une translation et une rotation. La lune est dessinée par rapport à la terre: après une translation et une rotation. Pour la terre et la lune, la lumière se trouve au milieu du soleil, mais pour le soleil, la lumière se trouve devant en Z à une distance de 300.

Sommaire des transformations en OpenGL

Sommaire des transformations en OpenGL Il faut conclure que la méthode d'OpenGL de modéliser les transformations sous forme de matrices composites permet d'afficher facilement une structure hiérarchique d'objets: Le soleil par rapport à la scène, la terre par rapport au soleil, la lune par rapport à la terre.

Sommaire des transformations en OpenGL 3.x Voir le tutoriel: Voir le code source: Les transformations Model, View et Projection (MVP) permettent de séparer le processus de transformations du modèle vers le viewport à l’écran http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/ http://code.google.com/p/opengl-tutorial-org/source/browse/#hg%2Ftutorial03_matrices

Sommaire des transformations en OpenGL 3.x Matrice de transformation Model: Les sommets sont définis par rapport au centre de l’objet, donc le référentiel (0, 0, 0) est au centre de l’objet

Sommaire des transformations en OpenGL 3.x Pour déplacer ce modèle, comme par le contrôle du joueur avec les touches du clavier ou de la souris, nous pouvons appliquer une tranformation 3D sur le modèle ex: translation*rotation*scale, à tous les sommets du modèle en GLSL Un modèle qui ne bouge pas après son chargement restera centré à (0, 0, 0) Le déplacement d’un modèle dans la scène 3D correspond au positionnement de ce modèle dans l’espace du monde 3D

Sommaire des transformations en OpenGL 3.x Positionnement du modèle dans l’espace du monde 3D

Sommaire des transformations en OpenGL 3.x Positionnement du modèle dans l’espace du monde 3D

Sommaire des transformations en OpenGL 3.x Positionnement de la caméra (transformation de visualisation, View)

Sommaire des transformations en OpenGL 3.x Positionnement de la caméra (transformation de visualisation): fonction LookAt()

Sommaire des transformations en OpenGL 3.x Transformation de Projection (ex: perspective)

Sommaire des transformations en OpenGL 3.x Transformation de projection (ex: perspective)

Sommaire des transformations en OpenGL 3.x Transformation de projection (ex: perspective, application des transformations)

Sommaire des transformations en OpenGL 3.x Transformation de projection (ex: perspective, application des transformations) Cube normalisé Viewport

Sommaire des transformations en OpenGL 3.x Transformation de projection (ex: perspective, code)

Sommaire des transformations en OpenGL 3.x Transformation de projection (ex: perspective, code)

Sommaire des transformations en OpenGL 3.x Transformation de projection (ex: perspective, code)

Sommaire des transformations en OpenGL 3.x Transformation de projection (ex: perspective, code) Vertex shader

Sommaire des transformations en OpenGL 3.x Transformation de projection (ex: perspective, code) Fragment shader

Sommaire des transformations en OpenGL 3.x Transformation de projection (ex: perspective, code)