Exploration de l’espace des BRDFs pour la modélisation de matériaux

Ce site présente les logiciels que notre équipe a produit dans le cadre du projet de fin d'année de M2 Informatique Graphique & Analyse d'Image à l'Université Paul Sabatier de Toulouse.

BRDF Explorer

brdfChefBRDF 3000

Le programme qui cuisine le modèle mathématique de la solution et écris les données pour BRDF Explorer 3000.

brdf3000git brdf3000docs

Paramétrisation de l'espace des BRDFs

Grâce à l'algorithme de Hooke & Jeeves, le programme est capable de générer par processus gaussien une paramétrisation optimisée de l'espace des BRDFs.
Cette paramétrisation est calculée à partir de la base de donnée MERL et le code est conçu pour pouvoir aussi fonctionner sur des bases de données plus récentes.
Les matrices résultant du processus permettent d'interpoler les matériaux de la base de donnée à partir de coordonnées de l'espace paramétrique.

Rapidité des traitements

Le processus d'optimisation produisant la paramétrisation est implémenté de manière très efficace et converge vers un optimum local en moins d'une minute.
Le code est largement parallélisé et utilise les formules de Sherman Morisson pour mettre à jour les matrices inverses et leurs déterminants.

Haute précision et résultats de qualité

Notre code est compatible avec les types flottants sur 128 bits de la librairie boost et produit grâce à eux d'excellents résultats de paramétrisation : seulement 10^-41 d'erreur de reconstruction sur les données.

Représentation de l'espace paramétrique

Le programme est capable de calculer une image représentant les paramétrisation de dimension 2 en échantillonnant le spectre de l'albedo des BRDFs en chaque pixel : c'est la carte des matériaux.

Flexibilité par rapport aux ressources

Dans le cas où l'utilisateur ne dispose pas des 13Go de mémoire vive nécessaires au calculs, notre programme met à disposition une approche économe de la manipulation des grosses matrices qui charge les données à partir du disque uniquement lorsqu'elle sont nécessaire. Le temps du processus d'optimisation en lui même reste inchangé.

Code C++ moderne

Notre programme est entièrement développé en C++ moderne et dispose d'une architecture modulaire souple aux modifications.
Il repose sur la librarie Eigen pour le calcul matriciel.

brdfExplorerBRDF Explorer 3000

La version améliorée de BRDF Explorer de Disney qui intègre notre solution.

brdfExp3000git brdfExp3000docs

Exploration de l'espace de BRDFs en deux dimensions

L'utilisateur explore l'espace des BRDFs grâce à la carte des matériaux, sur laquelle sont tracées les isolignes de la luminance : elles donnent une information sur la courbure de l'espace paramétrique.
La couleur quant à elle rend compte du spectre moyen réfléchis par le matériau à ces coordonnées et donc une première idée de sa couleur.

Reconstruction et interpolation de matériaux

En se repérant grâce à des points de référence, un clic sur la carte permet, après sa validation, de produire un matériau ayant un aspect entre le chrome et l'aluminium par exemple.

Manipulation intuitive

La manipulation de la carte est intuitive :

  • Des croix se trouvent à l'emplacement des matériaux de la base de donnée d'origine
  • Le survol de la souris fait s'afficher leur nom
  • La touche ctrl les affichent tous
  • La molette de la souris contrôle le zoom

Flexibilité par rapport aux ressources

Ici encore, dans le cas où l'utilisateur a le choix entre deux politiques de stockage lors de la première ouverture de la carte.

  • Économe : 700Mo de mémoire vive au prix de 15 secondes de temps de reconstruction.
  • Performant : 13Go de mémoire vive contre moins de 2 secondes pour la reconstruction.

Sauvegarde des matériaux reconstruits

L'application permet d'exporter les matériaux reconstruits au format binaire, lesquels pourront-être rechargés par la suite sur le logiciel.

Interface ergonomique

Les traitements longs s'effectuent avec un retour visuel pour les rendre l'expérience utilisateur plus agréable.

Démonstration

Les Rapports

Méthodes et Algorithmes

Décrit l'objectif et les algorithmes implémentés.

pdf

Spécifications

Décrit les exigences et les grandes lignes de conception

pdf

Recette

Décrit l'ensemble du travail réalisé et fournit le manuel d'utilisation des logiciels

pdf