Informatique

Langage C - OpenGL

Langage C - OpenGL

Réf 4-LC-OGL
Durée 5 jours

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

Introduction d'OpenGL

  • Place d'OpenGL sur le marché actuel de la 3D
  • Rôle d'OpenGL et compléments nécessaires
  • présentation de GLU et GLUT
  • Implémentations logicielles et matérielles

Principes de base

  • Définition d'une scène dans un espace en 3D
  • États de la machine OpenGL
  • Dessin géométrique

Visualisation

  • Création d'une fenêtre de rendu
  • Espace de visualisation: Frustum
  • Premiers polygones
  • Gestion de la couleur

Interactions

  • Introduction au fonctionnement de GLUT
  • Callbacks
  • Gestion du clavier
  • Gestion de la souris
  • Redimensionnement de la fenêtre de rendu

Matrices

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

Éclairage

  • 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

Le blending et les transparences

  • Intérêts et problématique du blending
  • Une solution aux superpositions blendées

Brouillard

  • Au-delà de l'aspect esthétique
  • Mise en place
  • Les types de brouillard

Lissage des contours : anti-aliasing

  • Voir et comprendre l'aliasing
  • Les différentes méthodes d'anti-aliasing: tracé anti-alisasé, motion blur, supersampling, ...

Listes d'affichage

  • Intérêts et inconvénients des listes
  • Créer une liste d'affichage
  • Rendre les listes stockées
  • Extensions possibles

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
  • Extentions : multitexturing, textures 3D, ...
  • Précisions sur le blending de textures

Tampons

  • Tampon de profondeur : Z-buffer
  • Tampon d'accumulation
  • Tampon "pochoir" : stencil buffer
  • Utilisations avancées des tampons : réflexions, blur, stencil shadows, cell shading, ...

Aspects avancés d'OpenGL

  • Fragmenteurs et quadratiques
  • Les évaluateurs : NURBS
  • Physique d'un environnement 3D
  • Bumpmapping
  • Skyboxes
  • Moteur de particules
  • Gestion temporelle d'une application temps réel
  • Modes "sélection" et "feedback"

En savoir +

Prérequis

Compétences en langage C, quelques notions concernant le monde de la 3D.

Moyens pédagogiques

Réflexion de groupe et apports théoriques du formateur
Travail d'échange avec les participants sous forme de
Utilisation de cas concrets issus de l'expérience professionnelle
Validation des acquis par des questionnaires, des tests d'évaluation, des mises en situation et des jeux pédagogiques.
Remise d'un support de cours.

Possibilité de certification

Nous consulter.