Computer Graphics

Computer Graphics

Lors de mon semestre d’études en Suède, j’ai suivi un cours de graphique 3D. J’ai pu travailler de nombreuses notions au travers des différents projets que ce cours proposait.

Rendu de triangles

Présentation

Bases de l’écriture d’une application OpenGL.

Notions

  • buffer objects (BO) / vertex array objects (VAO)
  • fragment & vertex shaders

Documents

Textures

Présentation

Affichage et filtrage de textures.

Notions

  • Paramètre des textures
  • Filtrage des textures (mipmapping, anisotropic filtering)
  • Alpha blending

Documents

Animation

Présentation

Applications de transformations pour déplacer des objets et la caméra.

Notions

  • Modèle Vue Projection Matrice
  • Transformations : Translation, rotation, mise à l’échelle.
  • Control de la caméra

Documents

Shaders

Présentation

Création d’un shader basé sur la physique. Calcul de la quantité de lumière réfléchie depuis une surface vers la caméra. Calcul de l’éclairage direct à partir de points lumineux et de la réflexion spéculaire à partir d’une environment map.

Notions

  • Illumination directe / indirecte
  • Eclairage diffus / irradiance map
  • Réflexions
  • Paramètres des matériaux
  • Torrance-Sparrow Microfacet BRDF (Bidirectional Reflectance Distribution Function)

Documents

Post-traitement

Présentation

Mise à jour dynamique des textures et application de passes de post-traitement.

Notions

  • Framebuffer
  • rendu hors écran utilisé comme texture
  • fragment shader pour les effets de post-traitement

Documents

Shadow Maps

Présentation

Calcul des ombres en temps réel en utilisant les shadow maps.

Notions

  • Shadow map
  • Shadow Acne
  • Hardware Support (Percentage Closer Filtering, depth map)

Documents

Système de particules

Présentation

Mise en place un système de particules.

Notions

  • Générer et simuler des particules
  • Rendu des particules sur le GPU

Documents