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