Caméra & "projection"

Cet exercice vous permettra de maitriser le "mapping d'images" et d'intégrer des prises de vue dans vos images .Les 2 premières étapes sont identiques à celle du TP d'initiation..
Deux fichiers vous permettent de commencer sans trop de difficultés. Copier le fichier include : basics.inc et le fichier pov : TP0-0.pov dans votre répertoire de travail.
Lancer Povray sur ce fichier (double cliquer sur TP0-0.pov). Puis lancez "Run". Vous devez voir apparaître l'image ci-contre. Un fichier TP0-0.bmp a été créé dans votre répertoire de travail.
Les 3 axes sont : rouge pour X, vert pour Y et bleu pour Z. Le damier est composé de case de UN de coté. Vous pouvez changer le point de vue en changeant la caméra. Il suffit de commenter (ajouter // au debut) :
//vue_courante()
et de décommenter une autre, par exemple :
vue_dessus(distance_camera)

Vous êtes maintenant prêt à commencer...
0.Pour commencer :
Réalisons une géométrie simple : une sphère rouge telle qu'elle est présentée sur l'image de droite.
  • Placer la sphère au centre de la case grise, à proximité de l'axe . Utilisez le menu Insert/Shapes(Shorter Versions)/Sphere et modifiez les valeurs  mises par defaut.  La syntaxe de la sphere est : sphere { <centre>  rayon } 
  • La sphère est noire car il n'a pas de couleur associée. Ajoutez le champs pigment { color ....} pour afficher la sphère en rouge. Attention la couleur doit se trouver DANS la déclaration de la sphère.
  • Ajouter une reflexion avec finish { phong ... }
  • Utiliser une variable: R pour définir le rayon avec l'instruction : #declare R=0.3; . La déclaration doit se trouver AVANT son utilisation. Attention au ";". 
A la fin de cette étape vous devez produire l'image qui est ci-contre.
1. Ecran de projection = polygon :
Ajoutez un polygone "blanc" (un écran de projection) comme figuré sur l'écran à l'aide de l'instruction polygon {n, P1, P2..., Pn}
2. Image mapping :

"Projetez" une image (de bonsai par exemple "bonsai.jpg") sur l'écran en ajoutant un pigment au polygone avec la syntaxe suivante :
    image_map {
        jpeg "bonsai.jpg"
        map_type 0
        once ... }
Faite deux remarques concernant l'image "projetée".
Sauvez l'image au format "png" sous un autre nom (par défaut le format est "bmp"). Il faut modifier le fichier "quickres.ini" associé à la scène (menu Ini) pour ajouter par exemple :  Output_File_Name = bonsai_1.png
Il est conseillé de renommer le fichier "quickres.ini" et de le sauver dans le même répertoire que le fichier ".pov".
3. Placez la caméra :
Changez de point de vue : placer la caméra pour ne voir que l'image projetée. Enlevez temporairement la boule rouge.
L'image ci-contre est obtenue avec une "focale"  de 0.9 (vs 1.0) afin de découvrir les axes.



4. Ajoutez un éclairage 
Projetez maintenant l'image obtenue et sauvée à l'étape 2. Attention PovRay n'arrive pas à relire le format "png" qu'il génère :-? passer pas gimp ou xnview pour lire et ré-écrire l'image (en png).
L'image est sombre : ajoutez un éclairage (source parallèle).

5. Générez des images "emboitées"
Déplacez la caméra, prenez l'image qui sera ré-introduite dans le mapping...Recommencez jusqu'à obtenir l'image ci-contre.

Extension : ou idée de projet, vous pouvez réaliser une "salle de cinéma" et projeter une animation sur l'écran. Il suffit de changer l'image projetée à chaque pas de temps (variable "clock" dans le fichier "ini")...