Exemples du cours 'IFT-3100 Infographie' de l'Université Laval (édition hiver 2022).
Étude des propriétés de l’image, organisation matricielle des pixels, résolution d’image, espace de couleur, transparence, formats de fichier image, compression, importation, exportation et manipulation d’images par programmation.
Techniques de dessin basées sur l’idée de symboliser des instances de primitives vectorielles à partir d’un minimum d’attributs numériques pour ensuite pouvoir reconstruire leur représentation sous forme de pixels à partir d’algorithmes.
Étude des principaux outils mathématiques utilisés pour la transformation géométrique dans les espaces 2D et 3D tels que les vecteurs, les matrices et les quaternions.
Représentation de primitives géométriques et d’objets complexes sous forme de maillages triangulaires, spécification des attributs de sommet, mise en cache de la géométrie et commandes de rendu.
Propriétés de caméra, fenêtre d’affichage, transformation du point de vue dans une scène, projection graphique et techniques d’occlusion.
Conversion d’image en texture, mise en cache, échantillonnage, compression, traitement et filtrage.
Illumination à partir des sources de lumière d’une scène et des propriétés du matériau d’une surface.
Techniques de rendu qui utilisent des rayons pour simuler l’illumination directe et indirecte, la réflexion, la réfraction et l’ombrage des surfaces.
Techniques de modélisation de géométries continues telles que des courbes et des surfaces paramétriques, triangulation, parcours et échantillonnage à partir d’algorithmes.
Rendu basé sur la physique, réflexion diélectrique, métallicité, rugosité, microfacettes, équation de rendu, BRDF.
Ce dépôt contient trois types d'exemples :
- Des extraits de sections de code OpenGL minimalistes en C++ ou GLSL. Ces exemples ne sont pas exécutables.
- Des exemples en C++ pur, sans autre dépendance que les librairies standards du langage. Un Makefile accompagne ces exemples, simplement faire un make dans une console pour compiler un exécutable.
- Tous les autres exemples utilisent openFrameworks 0.11.0. Simplement cloner ce dépôt dans le répertoire /apps et utiliser le projectGenerator qui accompagne la technologie pour générer les solutions pour votre IDE préféré. Une fois ouvert dans un IDE, supprimer les références vers les fichiers ofApp.h et ofApp.cpp car ils ne sont pas utilisés.