Article Index

Les modèles de matériaux réalistes les plus courants de nos jours sont les modèles basés sur la théorie des micro-facettes. Les matériaux de type Disney font partie de cette catégorie. L'idée est de penser une surface comme un ensemble de particules plus ou moins petites, ayant chacun une normale différente (celles d'un miroir seront homogènes tandis que celles du carton ou du béton ne le sont pas) donnant un aspect plus ou moins rugueux. On peut définir cette répartition des normales par une loi de distribution, et calculer les phénomènes qui interviennent, notamment le masquage et l'ombrage. L'angle de vue du matériau joue aussi un rôle crucial et est pris en compte par le modèle Disney.

Objectif

L'objectif est donc d'implémenter les matériaux physiquement réaliste a base de micro-facette : Plastic, Metal, Substrate et Disney. On peut ainsi voir dans les figures suivantes les effets de la variation de rugosité sur le rendu avec un accroissement de la tache spéculaire différente selon le modèle :

  • Sphères avec un matériau de type Substrate (du plus rugueux au plus lisse).
  • Sphères avec un matériau de type Plastic (du plus rugueux au plus lisse).

 

BDSF

En rendu, la BSDF (Bidirectional Scattering Distribution Function) est la fonction déterminant la probabilité qu’un rayon lumineux soit dispersé dans une direction souhaitée. Celle-ci peut se distinguer en deux types de BxDF : La BRDF qui prend en compte les interactions à l’impact du rayon et la BTDF qui simule les rayons traversant le matériaux. Nous nous concentrerons surtout sur les interactions à la surface. La BSDF peut ainsi se modéliser par la somme de deux types de réaction à la surface : une interaction diffuse qui va répartir la lumière dans toutes les directions et une interaction spéculaire qui va concentrer une grande partie de l’énergie dans une seule direction. On peut modéliser cette fonction ainsi :

$bsdf(x, w_i, w_o) = bsdf_{diff} + bsdf_{spec}$

Pour la suite ont utiliseras les symboles suivant :

$x$ Position de l'intersection sur la scène
$w_i$ La direction du rayon lumineux
$w_o$ La direction du point vers la camera
$n_x$ La normal de la surface en x
$h_x$ Le demi-vecteur à la surface en x
$c_{d,x}$ La couleur diffuse de la surface en x
$c_{s,x}$ La couleur spéculaire de la surface en x
$\alpha_x$ La rugosité de la surface en x
$n_x$ L'indice de réfraction de la surface en x (plastique)
$n_x + ik_x$ L'indice de réfraction complexe de la surface en x (métal)

Modèle de Cook-Torrance

L’interaction spéculaire à la surface étant dépendante de sa géométrie, la mise en place d’un modèle physiquement réaliste va donc passer par le choix d’une BSDF spéculaire représentant ce type de surface. Le modèle de Cook-Torrance [3] nous permet de résoudre ce problème :

$\rho_{ct}(x, w_i, w_o) = \frac{D \ast G \ast F}{4 \ast (w_o \cdot n_x) \ast (w_i \cdot n_x)}$

On voit que ce modèle repose sur trois fonctions : D, G et F. La fonction D est la fonction de distribution des normales à la surface dans une direction donnée. Par exemple si 50% des normales sont dans la direction $\lambda$ alors $D(\lambda)$ vaut $0,5$. De nombreuses versions de cette fonction existent dans la littérature, mais nous utiliserons celle de Trowbridge-Reitz :

$D(h_x, n_x, \alpha_x) = \frac{\alpha^2 X(h_x \cdot n_x)}{\pi((h_x \cdot n_x)^2(\alpha_x^2 +tan^2\frac{1-(w \cdot h_x)^2}{(w \cdot h_x)^2}}$

De plus ont pose la fonction $X$ défini par $X(x) = max(0,min(x,1))$ La fonction G quant à elle définit l’atténuation lumineuse à la surface due à l’auto-occultation des microfacettes. Cette fonction est donc fortement liée à la fonction de distribution des normales à la surface. Nous allons ici aussi utiliser celle de Trowbridge-Reitz :

$G(w, h_x, n_x, \alpha_x) = \frac{2 X( \frac{w \cdot h_x}{w \cdot n_x}) } {1+ \sqrt{1+\alpha_x^2 \frac{1-(w \cdot h_x)^2}{(w \cdot h_x)^2} } }$

Ont a donc $G(w_i, w_o, h_x, n_x, \alpha_x) = G_p(w_o, h_x, n_x, \alpha_x) G_p(w_i, h_x, n_x, \alpha_x)$ La dernière fonction F décrit les phénomènes de réfraction-réflexion à la surface selon le coefficient de Fresnel. Ce coefficient s’exprimant comme la moyenne des réflectances des deux plans de polarisation (parallèle et perpendiculaire) du rayon incident :

$R = \frac{R_s+R_p}{2}$

Avec $R_s$ la réflectance selon le plan perpendiculaire et $R_p$ celle selon le plan parallèle.