Matière
Programmation graphique 3D
Description
Cet enseignement introduit les notions de pipeline graphique ainsi que le fonctionnement d’une API graphique, tel OpenGl pour l’imagerie de synthèse.
Compétences requises
Géométrie euclidienne pour la 3D : notions de repères, coordonnées homogènes, géométrie projective.
Compétences visées
Savoir programmer la carte Graphique avec l’API OpenGl 3.0
Comprendre la structure d’un algorithme de rendu temps réel multi-passes
Acquérir les concepts de base du rendu graphique 3D : transform & lighting
Maîtriser le langage de programmation Graphics Library Shading Language (GLSL)
Savoir programmer des effets de rendu: éclairage de Phong, ombrage et texturage par couleur et relief.
Discipline(s)
- Informatique
Syllabus
Architecture d'une application graphique.
Pipeline graphique classique versus pipeline programmable.
Primitives graphiques et leur tramage (rasterization).
Vertex, Fragment et Geometry Shaders.
Buffer Objects.
Attributs.
Textures et leur usage : placage de textures, textures procédurales, bruits, pavages apériodiques, billboards, image-based rendering, environment mapping, bump mapping, displacement mapping, render to texture.
Shadow maps.
Geometry-buffer et rendu différé.
Exemples de shaders : rendu expressif et screen-space ambient occlusion.
Librairie graphique OpenGL 3.0 et GLSL
Bibliographie
- Fundamentals of Computer Graphics, P. Shirley, AK Peters.
- Interactive Computer Graphics, E. Angel, Addison-Wesley.
- Fundamentals of Interactive Computer Graphics, Vol. 1+2, Foley & Van Dam, Addison-Wesley.
- Principles of Digital Image Synthesis, Vol. 1+2, A. Glassner, Morgan Kaufmann.
- OpenGl Programming Guide, Woo & Neider & Davis & Shreiner, Addison-Wesley.
- Real-time Shading, Olano & Hart & Heidrich & McCool, AK Peters.
- GPUGems, NVidia