Feel Europe

La 3D temps réel avec OpenGL

Par Feel Europe

Objectifs

  • Appréhender l'API et les concepts importants d'OpenGL, ainsi que les particularités de la 3D temps réel, autant avec le pipeline fixe qu'avec les shaders
  • Découvrir l'étendu des fonctionnalités d'OpenGL

Programme

1. Présentation

  • versions et historique (1.x à 4.x, ES1, ES2)
  • place d'OpenGL sur le marché actuel de la 3D
  • principes de fonctionnement d'une carte 3D
  • pipeline fixe et pipeline programmable
  • extensions OpenGL
  • bindings et langages

2. 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, ...)
  • le cas de l'API GLU

3. Principes de base

  • définition d'une scène dans un espace en 3D
  • états de la machine OpenGL
  • espace de visualisation : Frustum

4. Formes, volumes et géométries

  • points, lignes et polygones
  • concepts : les surfaces évaluées (Bézizer) et les NURBS de GLU
  • géométries arbitraires
  • performances et triangles
  • mode immédiat, listes d'affichages, Vertex Array, VertexBuffers

5. Matrices

  • Rôle des matrices de la machine OpenG
  • Matrice de visualisation
  • Matrice de transformation
  • Rotations, translations

6. Eclairage

  • 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

7. Le blending et les transparences

  • intérêts et problématique du blending
  • problématiques des superpositions blendées

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

9. Tampons

  • Tampon de profondeur (Z-buffer)
  • Tampon d'accumulation
  • Tampon "pochoir" (stencil buffer)
  • Framebuffer Objects (FBO)
  • Utilisations avancées des tampons (réflections, blur, stencil shadows, cell shading, ...)

10. Shaders

  • présentation
  • Vertex Shaders et Fragment Shaders
  • Geometry Shaders (OpenGL 3.2) et tessellation (4.0)
  • compilation et édition des liens des shaders
  • le langage GLSL
  • types, passages d'arguments, ...
  • branchements et itérations
  • mise en oeuvre (toon shaders, normal mapping, post-processing, ...)

11. Réalisme d'une scène

  • ombres
  • gestion du brouillard
  • antialiasing
  • skyboxes, dômes, ...
  • particules et impositors
  • gestion temporelle
  • textures animées
  • physique d'un environnement 3D
  • textures animées, render-to-texture (RTT)
  • gestion des entrées utilisateur
  • workflow de création et gestion des assets
  • performance et mémoire

12. Présentation du GPGPU

  • concepts de calcul embarqué dans le GPU
  • intérêts et contraintes
  • Shaders et FBO
  • OpenCL (ouvert)
  • CUDA (NVidia)

Pédagogie

  • Formateur expert du domaine, 1 ordinateur, 1 support de cours version papier ou numérique, vidéo projecteur, tableau blanc

Modalités d'évaluation

En amont de la formation

  • Audit par téléphone par nos commerciaux et formateurs
  • Tests d'auto-positionnement avant l'entrée en formation par le biais de questionnaire

Au cours de la formation

Exercices pratiques et mises en situation professionnelle pour valider la compréhension de chaque notion abordée dans le programme de cours.

En fin de formation

  • Validation des acquis par le formateur ou via un questionnaire renseigné par les stagiaires
  • Evaluation qualitative par les participants à l’issue de la formation via un questionnaire de satisfaction accessible en ligne.

Une attestation de fin de formation reprenant les objectifs de formation est également remise aux stagiaires puis signée par le formateur.

Formations de la même catégories (5)

Dawan
Vue.js : InitiationPar Dawan

Réaliser des applications front-end avec Vue.js

MySezame
Formation à l'innovation sociale et au business for goodPar MySezame

Une formation sur-mesure pour vos salariés pour leur donner toutes les cartes afin de maîtriser les enjeux sociaux et environnementaux dans le monde de l'entreprise, et comprendre comment à leur échelle ils peuvent apporter du sens et de l'impact à leur business ! 

Dawan
Kotlin : InitiationPar Dawan

Découvrir la programmation fonctionnelle et orientée objet avec Kotlin

Dawan
Microcontrôleurs 32 bits ARMPar Dawan

Connaître les différentes familles de microcontrôleurs ARM (pratique sur MSP432 et STM32) - Mettre en œuvre un ARM avec un générateur de code d'initialisation et un IDE - Connaître les librairies d'abstraction matérielle - Programmer des applications temps réel

Openska
GoPar Openska

La formation Go est une formation de cinq jours qui s’adresse à tous les développeurs qui souhaitent prendre en main le langage Go / Go-lang. Nous commencerons par présenter Go dans son environnement puis nous attaquerons dans le vif du sujet avec la création d’un premier programme. Fort de ces bases nous avancerons sur des sujets plus avancés tel que les interactions avec une base de données, la création de pages Web, les interactions avec le système…
A la fin de cette formation vous serez en mesure de créer vos propres programmes Go pour un environnement de production.