Formation API OpenGL
Créez des applications générant des rendus 2D et 3D
Apprenez à concevoir des applications générant des images 3D temps réel de haute qualité grâce à l'API OpenGL ES Mac OSX, IOS, Windows, Androïd en utilisant Visual Studio, CodeBlocks et/ou Xcode..
21 heures de formation (3 jours en présentiel).
Public
Pré requis
- Maîtrise de la programmation orientée objet
- Bonnes notions en langage C
Objectifs
- Maîtriser les possibilités et contraintes de traitement sur processeur graphique
- Savoir appréhender un environnement graphique 2D et 3D
- Connaître les outils de génération d'objets et de texturage
- Savoir utiliser les tampons de rendu
- Savoir apréhender le pipeline de traitement GLSL (programmes de shader)
- Maîtriser les techniques de debug d'openGL ES
Programme
Dispensé avec des méthodes d'apprentissage actives basées sur des exercices pratiques.
1 - Introduction à OpenGL
- Place d’OpenGL et OpenGL ES sur le marché actuel
- Rôle d’OpenGL et compléments nécessaires
- Implémentations logicielles et matérielles
2 - Principes de base
- Espace d'affichage matériel
- Espace de visualisation orthogonal (2D)
- Espace de visualisation projeté (3D)
- Principe de perspective de projection (plans de clipping et frustrum)
- Principe de vue de modèle
3 - Matrices et vecteurs
- Vecteur 2, vecteur 3, vecteur 4
- Matrices 2x2, 3x3, 4x4
- La bibliothèque glm
4 - Visualisation (mise en place de glut/freeglut)
- Contexte openGL
- Viewport et tampons de rendu
- Multi Viewport (ségmenter l'affichage)
5 - Tampons et objets de rendu
- Principe des objets de rendu
- Structure de données de vertex
- Vertex buffer object
6 - Application de texturage
- Gestion des couleurs
- Les coordonnées de texture et normales de face et vertex
- Objets textures (Texture1D, Texture2D, Texture3D)
- Sampler de texture (application et anti-aliasing)
- Chargement d'images externes (introduction à FreeImage)
7 - Tampons de rendu
- Moteur et passes de rendu
- Frame buffer object
- Tampon de couleur
- Tampon de profondeur
- Multisampling
- Lecture et écriture de tampons
- Résolution de tampons
8 - Introduction au GLSL (graphic language shading language)
- Pipeline de traitement
- Les programmes de shader
- Entrées et sorties de programme
- Traitements et variables implicites
- Les variables uniformes
- Vertex shader
- Fragment shader
10 - Affichage avancé
- Résolution de samples
- Multi-texturing
- Algorithmes de blend
- Principes et calcul d'éclairage (Phong shading, Toon shading...)
11 - Validation et debug d'openGL
- Gestion de versions de drivers
- Récupération et traitement des erreurs
- Validation des objets et programmes de shader