III. Les objets de base▲
Chaque objet doit être décrit entre {}. Il suivra toujours le modèle suivant (l'ordre des attributs n'a pas d'importance):
type_de_l_objet {
[attributs de l'objet pour définir sa forme]
[attributs de l'objet pour définir son aspect]
[attributs de l'objet pour définir les transformations géométriques à lui appliquer]
}
Chaque objet demande des arguments différents. Voici la description des attributs de forme des objets les plus courants dans POV-Ray. Nous verrons par la suite les attributs pour définir l'aspect et les transformations des objets.
III-A. box▲
Cet objet correspond à un parallélépipède rectangle dont les arrêtes sont parallèles aux axes du repère. Il est défini par 2 points opposés suivant la grande diagonale.
box{<0,0,0>,<1,1,1>}
III-B. cylinder▲
Cet objet correspond à un cylindre. Il est defini par les centres des 2 disques le délimitant ainsi que par son rayon.
cylinder{<0,0,0>,<1,1,1>,.5}
III-C. torus▲
Cet objet correspond à un tore. Il est défini par ses rayons majeur et mineur. Le tore généré est centré en O, autour de l'axe y.
torus{10,1}
III-D. sphere▲
Cet objet correspond à une sphère. Elle est définie par son centre et son rayon.
sphere{<0,0,0>,2}
III-E. plane▲
Cet objet correspond à un plan infini. Il est défini par un de ses vecteurs normaux et la distance qui le sépare de l'origine du repère.
plane{y,0}
Notez que y est un mot réservé du langage et qu'il est équivalent à <0,1,0>, de même que x est équivalent à <1,0,0> et z à <0,0,1>
III-F. triangle▲
Cet objet correspond à un triangle. Il est défini ses 3 sommets.
triangle{<0,0,0>,<1,5,1>,<5,1,4>}
III-G. smooth_triangle▲
Cet objet correspond à un triangle à l'apparence 'bombé'. Il est géometriquement plat, mais sa normale est modifiée pour lui donner une apparence bombée. Il est défini par 3 couples de points / vecteurs normaux aux points. Les triangles et les smooth_triangles sont largement utilisés dans les mesh (voir plus loin).
smooth_triangle
{
// premier point et vecteur normal au premier point
<-2,-1,0>,<-3,0,-1>,
// second point et vecteur normal au second point
<5,3,2>, <0,3,-1>,
// troisième point et vecteur normal au troisième point
<3,-2,-3>,<-1,0,-1>
}