vers l'index général de l'aide

Les shaders - création

Dans un premier temps, nous allons nous limiter au b.a. ba du langage, tout en essayant quand même de faire des choses difficiles à faire autrement.

qu'est-ce qui rentre dans un shader ?

données relatives à la surface de l'objet

P - Ce sont les coordonnées spatiales (x,y,z) du point dont on cherche la valeur de texture, le point d'intersection entre le rayon de la caméra et la surface de l'objet.

I - C'est le vecteur de direction (x,y,z) du rayon incident (rayon entre la caméra (E) et le point visé (P))

Ng - C'est la normale (x,y,z) de la surface au point P. Attention, il s'agit de la normale "pure", sans les éventuelles perturbations.

données relatives à l'environnement

E - La position (x,y,z) de la caméra. C'est la valeur de location, en somme.

valeurs par défaut

Cs - c'est la couleur par défaut, du blanc (1,1,1).

Os - c'est l'opacité par défaut, totalement opaque (1,1,1).

qu'est-ce qui sort d'un shader ?

Ci - C'est la couleur (r,g,b) du point.

Oi - C'est l'opacité (r,g,b) du point.

N - C'est la normale (x,y,z) de la surface au point P, AVEC l'éventuelle perturbation.

les types de variables

Il existe 5 types de variables :

typeusageexemple
floatnombres entiers et décimauxx = float 10.8
colordéfinition de couleur rgbjaune = color (1,1,0)
vectordéfinition de vecteurvent = vector (15,2,.8)
normaldéfinition de vecteur normalorientation = normal (1,.02,.6)
pointdéfinition des coordonnées d'un pointposition = point (15,65,12.4)

Voilà. Une fois qu'on sait tout ça, on peut commencer à écrire des shaders.

Rédacteur: Fabien Mosen