Formation OpenGL

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..

Durée 3 jours soit 21.00 heures de formations de 9h30 à 18h00.

Qualité 8 stagiaires par session maximum. 1 poste Mac ou Windows par stagiaire. Support de cours accessible en ligne.

Public Développeurs

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

Pré-requis Maîtrise de la programmation orientée objet
- Bonnes notions en langage C

Formation OpenGL

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
/srv/datadisk01/home/formation/site3