• Facile

Ce cours est visible gratuitement en ligne.

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

Mis à jour le 08/01/2013

Les bases de POV-ray

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Bon, je sais que vous êtes impatients de réaliser votre premier chef-d'oeuvre, mais encore un tout petit peu de patience... Voilà les bases de la programmation POV-Ray.

Le langage POV-Ray

POV-Ray, je vous l'ai dit, transforme un fichier texte en image.
Le fichier texte est le descriptif de la scène. C'est VOUS qui décrirez la scène, en écrivant ce qu'elle doit contenir.
La description de la scène se fait avec un langage spécifique à POV-Ray, qui ressemble assez à de nombreux langages déjà existants ; il est séparé en 2 parties :

  • un langage de description brut : c'est celui que nous verrons tout d'abord. Il permet d'ajouter les objets à la scène. Ce langage est nécessaire à toute scène.
    Pour ajouter un objet, il suffit d'écrire le mot-clé correspondant à cet objet hors de toute description.

  • Un autre langage, qui ne sert pas directement à la description de la scène, mais qui peut s'avérer très utile. Il permet d'exécuter des boucles, de traiter des variables, etc...
    Nous l'étudierons plus tard.

Le langage de description de scène de POV-Ray n'est PAS difficile. Il emploie de mots-clés qui seront évocateurs aux anglophones, et qui seront (pour la plupart) faciles à retenir pour les autres...

L'espace...

Quand je vous dit "L'espace", vous pensez à quoi ?
-> A Star Wars !

Bon, l'espace, c'est... le monde. Le monde en 3 dimensions en fait, tel que nous le percevons (on va pas chipoter sur le temps ^^).
Pour pouvoir se repérer, l'ordinateur va représenter cet espace par un repère, comme quand il le fait en 2 dimensions.
En 2D, il y a les x et les y (ça vous rappelle les cours de maths ?... :p ), et chaque point peut être repéré par ces deux coordonnées.
En 3D, c'est pareil... sauf qu'il y a en plus la profondeur, les z.

Mais puisqu'un schéma est mille fois mieux que tout ce que je pourrais vous dire, voilà une représentation des axes de l'espace :

Image utilisateur

Comme vous pouvez le voir, en haut c'est +y, en bas c'est -y, à droite c'est +x, à gauche -x, devant c'est +z et derrière c'est -z.
Retenez ça, c'est un point FONDAMENTAL.

Par exemple, un point de coordonnées (x = 1,y = 2,z = 3) sera un peu à droite, un peu en haut, et assez devant vous (si vous vous tenez en x=0,y=0,z=0).

Les vecteurs

Bon, maintenant vous savez localiser un point dans l'espace.
Mais reste à savoir le faire comprendre à POV-Ray !
Les coordonnées dans POV-Ray sont notées sous la forme de vecteur : <x,y,z> (où vous remplacez, évidemment, x, y et z par les coordonnées réelles de l'objet).
Par exemple, pour noter les coordonnées (x = 5,y = -2, z = 0.2) il faudra écrire...

<5,-2,0.2>

Vous aviez trouvé ? :lol: Trop facile hein ?

Encore une chose à propos des vecteurs de positions : des raccourcis existent... :D
Par exemple, au lieu de faire <0,1,0> (qui correspond à... x=0, y=1 et z=0), vous pouvez tout simplement écrire "y" ! De même, x et z correspondent respectivement à <1,0,0> et <0,0,1>
De plus, vous pouvez les multiplier et les ajouter :

  • 2*y correspond à <0,2,0>

  • x+3*z correspond à <1,0,3>

  • (7/2)*x+2*(z+2y) correspond à <3.5,4,2> o_O

Ça simplifie assez souvent la lecture (sauf dans le dernier cas... :-°)

Voilà, vous savez maintenant écrire les coordonnées d'un point en vecteur !
Avouez que jusque là, ce n'était pas VRAIMENT difficile... n'est-ce pas ?
(Mais non, je veux pas dire qu'à partir de maintenant ça va devenir impossible, roooh...)

Les couleurs

Vous verrez, faire de jolies formes, c'est cool, mais vous allez vite vouloir donner un peu de couleur à vos scènes...

Les couleurs que nous connaissons (vert, violet, orange, turquoise, rose fushia, coca-cola) se composent de 3 couleurs : vert, bleu, et rouge. Le noir correspond à rien du tout (0 de rouge, de bleu et de vert), tandis que le blanc correspond au max de chaque... si vous avez un peu l'habitude des ordinateurs, je ne vous apprends rien. ^^

Dans POV-Ray, ces valeurs vont de 0 (rien du tout) à 1 (max). Le blanc correspond donc à (rouge = 1, vert = 1, bleu = 1), et le noir (rouge = 0, vert = 0, bleu = 0)...
Maintenant, à votre avis, comment on va dire à POV-Ray qu'on veut 0.164486 de rouge, 0.68412 de bleu et 0 de vert ??? :o
Les vecteurs ! :lol:
Mais pour différencier ces vecteurs à 3 couleurs des anciens vecteurs à 3 coordonnées, on va placer devant le vecteur un petit mot-clé qui va lui dire qu'on donne des valeurs de rouge, vert et bleu, et non x, y et z : on va ajouter "rgb" (pour Red Green Blue) :
rgb <1,0,0> donnera un rouge pur.
rgb <0,1,0> donnera du vert.
rgb <0,0,1> donnera un joli bleu.
Bien entendu, les décimales sont acceptées :
<0.5,0.5,0.5> donnera du gris
<0.1654,0.654684,0.3213> donnera du... euh... bah, essayez. ^^

Et voilà pour les couleurs !
Cette fois, il n'y a pas de raccourcis directement intégrés dans POV-Ray pour faire des couleurs déjà préparées. Il existe un autre moyen d'accéder à des raccourcis, mais nous verrons ça plus tard.

L'échelle

POV-Ray ne force aucune échelle de distance...
En effet, les distances se comptent en "unités". C'est à vous de choisir, si vous souhaitez utiliser 1 unité pour 1 mètre, pour 1 cm, 1 km, 273.5 mètres, etc.
Bah oui, c'est normal : qu'est-ce qui fait, dans la vie, qu'une chose est grande ?

  • La vitesse à laquelle nous nous déplaçons. Vous aurez beau rouler en voiture, une montagne paraîtra avancer très lentement, ce qui ne sera pas le cas pour un lampadaire.

  • Les autres objets autour : si un homme se tient prêt de votre boîte et arrive à la moitié, vous conclurez que votre boîte est grande...

Ainsi, vous êtes libres d'utiliser l'échelle de votre choix, tant que vous l'appliquerez à tous les objets de votre scène.
Lors de scènes réalistes, je vous conseillerais d'utiliser 1 unité = 1 mètre, par simplicité...

Voila pour les distances et les échelles !

Petits trucs

Dernière petite chose, vous pouvez, à la place de n'importe quelle valeur numérique, mettre une opération. Par exemple, 6/3 au lieu de 2, (3+0.5)*(2-1) pour 3.5, etc...

Ce n'est pas forcément super utile, mais ça peut vachement aider, parfois... enfin, vous verrez bien !

Et voilà ! A présent (et cette fois-ci, pour de bon !), vous savez tout ce qu'il faut savoir pour commencer... Dans le prochain chapitre, nous entamerons immédiatement votre première scène !!

Exemple de certificat de réussite
Exemple de certificat de réussite