vers l'index général de l'aide
vers la page des height_fields
On peut se servir du height_field pour bien d'autres choses que des paysages ou des montagnes.
Prenez une caméra, une source lumineuse, et une boîte habilement texturée:
camera { location <50, 20, -60> right 2*x up y angle 20 look_at <10,4,2> } background { color rgb 1 } light_source { <20,10,-10> color rgb 1 } object { box { <0,0,0,>, <19,9,4> } pigment { bozo scale <8, 5, 5> color_map { [0.2 color rgb<.8,.3,.1>] [0.8 color rgb<.5,.4,.4>] } } normal { granite scale .5 } finish { ambient .4 diffuse .6 } }
Et vous obtenez, une... une...
UNE BRIQUE !!! Ben oui, une brique... Bon d'accord, ça ressemble toujours à une boîte habilement texturée....
Prenez un autre fichier pov, une autre camera, un plan texturé avec du bozo:
camera { orthographic location <0, 20, 0> right 20*x up 10*y angle 20 look_at <0,0,0> } plane { y, 0 pigment { bozo scale <1.5,1,1> color_map { [0 rgb 0] [1 rgb 1] } } finish { ambient 1 } }
Vous obtenez quelque chose comme ça:
Reprenons la boîte, et enlevons-lui quelques morceaux:
#declare hfbrick = height_field { png "bozo.png" translate -.6*y } difference { box { <0,0,0,>, <19,9,4> } object { hfbrick rotate x*90 translate y scale <20, 10, .4> } object { hfbrick rotate z*90 scale <.4, 10, 10> translate 19*x } object { hfbrick rotate x*180 translate z scale <20, .4, 5> translate 9*y } object { hfbrick scale <20, .4, 10> } pigment { bozo scale <8, 5, 5> color_map { [0.2 color rgb<.8,.3,.1>] [0.8 color rgb<.5,.4,.4>] } } normal { granite scale .5 } finish { ambient .4 diffuse .6 } }
Tadaaaaaaa !!!! Et voila le travail. On obtient une magnifique brique, avec les bords émiettés et tout....
Pour obtenir un mur, il ne reste plus qu'à faire appel à une macro MurDeBrique()...
Cette technique peut également être utiliser pour graver des motifs dans n'importe quoi, du marbre, du bois, du beurre de cacahuète....
Maintenant, c'est à vous de trouver d'autres utilisations aux height_field's...
Rédacteur: Christophe Bouffartigue (Bouf)