Description
Ce programme de formation sur OpenGL s'adresse aux développeurs et designers souhaitant maîtriser la création de graphiques 3D. Il couvre les fondements d'OpenGL, y compris la définition de scènes 3D, la gestion des matrices, l'éclairage, et le texturage. Les participants apprendront à créer des fenêtres de rendu, à gérer les interactions utilisateur et à appliquer des techniques avancées comme le blending, le brouillard et l'anti-aliasing. Des aspects plus complexes tels que les moteurs de particules et la physique en temps réel sont également abordés, offrant une compréhension approfondie des capacités
Objectifs
- Découvrir l'étendu des fonctionnalités d'OpenGL
- Maitriser l'API OpenGL
- Gérer le blending et les transparences
- Appliquer des textures
- Mettre en place la programmation d'applications 3D temps réel de grande qualité
Récapitulatif
Public
Tout public destiné à programmer en utilisant OpenGL
Prérequis
Bonnes notions de la programmation en C.
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d'un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d'une documentation pédagogique numérique pendant la formation
La formation est constituée d'apports théoriques, d'exercices pratiques et de réflexions
Dans le cas d'une formation sur site Entreprise, le client s'engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard...) au bon déroulement de l'action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l'issue de la formation
Programme détaillé
Introduction d'OpenGL
- Place d'OpenGL sur le marché actuel de la 3D
- Rôle d'OpenGL et compléments nécessaires
- présentation de GLU et GLUT
- Implémentations logicielles et matérielles
Principes de base
- Définition d'une scène dans un espace en 3D
- Etats de la machine OpenGL
- Dessin géométrique
Visualisation
- Création d'une fenêtre de rendu
- Espace de visualisation: Frustum
- Premiers polygones
- Gestion de la couleur
Interactions
- Introduction au fonctionnement de GLUT
- Callbacks
- Gestion du clavier
- Gestion de la souris
- Redimensionnement de la fenêtre de rendu
Matrices
- Rôle des matrices de la machine OpenGL
- Matrice de visualisation
- Matrice de transformation
- Rotations, translations
Éclairage
- Rôle et fonctionnement de l'éclairage
- Simplifications du modèle d'éclairage
- Mise en place et définitions
- Déplacements des sources lumineuses
- Gestion des couleurs
- Gestion des matériaux
- Les normales (déduction et lissage)
- Les spots
Le blending et les transparences
- Intêrets et problématique du blending
- Une solution aux superpositions blendées
Brouillard
- Au-delà de l'aspect estéthique
- Mise en place
- Les types de brouillard
Lissage des contours (anti-aliasing)
- Voir et comprendre l'aliasing
- Les différentes méthodes d'anti-aliasing: tracé anti-alisasé, motion blur, supersampling, ...
Listes d'affichage
- Intêrets et inconvénients des listes
- Créer une liste d'affichage
- Rendre les listes stockées
- Extenstions possibles
Application de textures
- Principes du texturage
- Chargement de textures
- Mise en place de coordonnées de texture
- Filtrages (linéraires, bilinéaires)
- MipMapping
- Matrice de texturage
- Extenstions (multitexturing, textures 3D, ...)
- Précisions sur le blending de textures
Tampons
- Tampon de profondeur (Z-buffer)
- Tampon d'accumulation
- Tampon "pochoir" (stencil buffer)
- Utilisations avancées des tampons (réflections, blur, stencil shadows, cell shading, ...)
Aspects avancés d'OpenGL
- Fragmenteurs et quadratiques
- Les évaluateurs (NURBS)
- Physique d'un environnement 3D
- Bumpmapping
- Skyboxes
- Moteur de particules
- Gestion temporelle d'une application temps réel
- Modes "sélection" et "feedback"