Informatique Informatique
Référence formation : 4-LC-OGL4 - Durée : 3 jours

 
  • Objectifs
  • Pré-requis
  • Pédagogie
Appréhender et comprendre OpenGL dans ses versions les plus récentes
Notions de base du monde de la 3D, langage C

Méthodes pédagogiques

Présentation des concepts, démonstration, exécution, synthèse et exercices pratiques d'assimilation

Modalités pédagogiques

Présentiel - Distanciel - AFEST

Moyens pédagogiques

Formateur expert du domaine - 1 ordinateur, 1 support de cours version papier ou numérique, un bloc-note et un stylo par personne - vidéo projecteur - tableau blanc

Modalités d'évaluation

Positionnement préalable oral ou écrit - Evaluation formative tout au long de la formation - Evaluation sommative faite par le formateur ou à l'aide de la certification NULL

Public concerné

Salariés - Demandeur d'emploi - Reconversion professionnelle

Si vous êtes en situation de handicap, vous pouvez joindre notre référent Handicap. Voir notre fiche Accès correspondante.

Contenu pédagogique

Présentation

  • Versions et historique (1.x à 4.x, ES1, ES2)
  • Compatibilité GL et GLES
  • Place d'OpenGL sur le marché actuel de la 3D (WebGL, DirectX, Vulkan)
  • Principes de fonctionnement d'une carte 3D
  • Pipeline programmable
  • Extensions OpenGL
  • Bindings et langages

Initialisation et contexte

  • Création de l'espace de rendu
  • Les API concernées : GLX, WGL, CGL, EGL, …
  • Les abstractions possibles : GLUT, SDL, …
  • Gestion des extensions (GLEW, GLEE, …)
  • Les bibliothèques "support" (GLU, GLM, matrices et vecteurs, …)

Configuration de la scène

  • Espace de rendu 3D : frustum, projection, …
  • Tampons Z et stencil
  • Face culling

Les géométries

  • VBO (Vertex Buffer Object)
  • Buffers indexés et non-indexés
  • Buffers entrelacés et non entrelacés (interleaved)
  • VAO (Vertex Array Object)
  • Organisation des structures de données, stockage d'objets
  • Transform Feedback

Les textures

  • Formats de fichiers basiques
  • Taille des textures, NPOT
  • Nombre de dimensions des textures (1D, 2D, 3D)
  • Textures cubemaps
  • Chargement, stockage et sampling d'une texture
  • Notion de MipMaps
  • Formats spécifiques (DDS, KTX, …)
  • Formats compressés (S3TC, ETC1)
  • ETC2/EAC (GL 4.3+)
  • Immutable Storage

Les Shaders

  • Les étages de base (vertex, fragment)
  • Les étages avancés (tessellation, geometry, transform)
  • Le langage GLSL
  • Types de données (vec, mat, sampler, …) et tailles
  • Entrées / sorties des shaders
  • Branchements et itérations
  • Récupération du programme binaire (GL 4.1+)
  • Techniques avancées, présentation de raymarching

Compléments

  • Gestion des erreur (GL 4.3+)
  • Présentation des Compute Shaders (GL 4.3+)