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

  • Développeurs

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