Home           
Première Transformation
 

<< Première image   Les transformations offertes par RenderMan >>

Transformations simples avec RenderMan

Nous allons voir ici comment changer de perspective et comment appliquer quelques transformations simples (rotation, translation,...).

Projection Perspective
Rotation et couleurs
Mise à l'échelle et aperçu dans le framebuffer
Création d'un objet complexe
Points clés

Projection Perspective

#perspective exemple2.RIB
#mise en place d'une vue en perspective
Projection "perspective" "fov" 40
WorldBegin
   Translate 0 0 3
   Disk 1 0.5 360
WorldEnd

Nous retrouvons ici quelques éléments vus dans le précédent chapitre. Nous n'allons par revenir dessus. Mais nous allons voir les nouvelles instructions.

Projection "perspective" "fov" 40 indique que nous voulons utiliser une projection perspective avec un champ de vue de 40 degrés.
ensuite l'instrucion inconnue est : Translate 0 0 3. Cette instruction permet d'avancer le cercle de 3 unités selon l'axe Z. Le cercle se retouvera donc à 3 unité de la caméra.

Télécharger la source
Télécharge l'image

Rotation et couleurs

Nous allons voir comment appliquer une rotation et une couleur à un tube.

#exemple3.rib
#application d'une rotaion à un objet

Projection "perspective" "fov" 40
WorldBegin
   Translate 0 0 5
   Rotate -120 1 0 0
   Color 1 0 0
   Cylinder 1 -1 1 360
WorldEnd

Ici nous voyons l'apparition de 3 nouvelles instructions : Rotate, Color et Cylinder.

  • Rotate -120 1 0 0 indique que ce que suit va réalise une rotation de -120 degré selon l'axe x. Voici la syntaxe de l'instruction Rotate : Rotate angle x y z;
  • Color 1 0 0 indique que tout ce qui sera dessiné ensuite jusqu'à la prochaine instrucion Color sera rouge. Il faut spécifier Rouge, Vert et Bleu entre 0 et 1.
  • Cylinder 1 -1 1 360 indique l'on va dessiner un cylindre de rayon 1, de profondeur -1, de hauteur 1 et de 360 degrés.

Ce que cet exemple nous montre c'est que les transformations sont appliquées dans l'ordre inverse où elles sont écrites. Ainsi, la rotation est d'abord appliquée ensuite, c'est la rotation. Il faut bien faire attention à cela!

ttt

Télécharger la source
Télécharge l'image

Mise à l'échelle et aperçu dans le framebuffer

Nous allons voir maintenant comment mettre à l'échelle des objets et afficher le résultats dans un fenêtre plutôt que dans un fichier.

#exemple4.rib
#mise à l'échelle

Display "scaling" "framebuffer" "rgb"
Projection "perspective" "fov" 40
Format 200 150 1

WorldBegin
   Scale 0.3 0.3 0.3
   Translate 0 0 5
   Rotate -120 1 0 0
   Cylinder 1 -1 1 360
WorldEnd

Nous voyons ici 3 nouvelles instructions : Display, Format et Scale.

  • Display "scaling" "framebuffer" "rgb" indique qu'il faut rendre l'image "scaling" dans le framebuffer ie dans une fenêtre et que l'image est en rgb;
  • Format 200 150 1 indique l'image de sortie mesure 200 pixels par 150 et le ratio d'un pixel est de 1;
  • Scale 0.3 0.3 0.3 indique que tout ce qui suit est réduit à 30% de sa taille originale.

Télécharger la source

Création d'un objet complexe

#exemple5.rib
#création d'un objet


Display "scaling" "framebuffer" "rgb"
Projection "perspective" "fov" 40
Format 200 150 1

WorldBegin
   Scale 1 1 1
   Translate 0 0 5
   Rotate -120 1 0 0

   Color 1.0 0.978 0.34 #couleur or
   Cylinder 1 0 1.5 360 #le verre
   Disk 0 1 360 #la base du verre
   Cylinder 0.25 -1.5 0 360 #le pied du verre
   Disk -1.5 1 360 #base du gobelet
WorldEnd

Rien de nouveau ici, à part qu'ici il y'a plusieurs formes géométriques au lieu d'une seule.

Télécharger la source

Points clés

Nous avons vu dans ce chapitre de nombreuses nouvelles instructions :

Nous avons vu dans ce chapitre la bases pour la créations de fichier RIB pour RenderMan. Nous allons voir dans le chapitre suivant comment appliquer précisément des transforamtions.

 

<< Première image   Les transformations offertes par RenderMan >>
  eXTReMe Tracker