Utilisation : Les liens ne sont pas apparents. Pour obtenir des informations sur un mot clé, cliquez-le dans le script !
// Persistence Of Vision raytracer version 3.5 sample file. // RENAISSANCE PATIO // RADIANCE AND ENVIRONMENT SETTINGS #declare Rad_Quality = 2; global_settings { assumed_gamma 1 #switch (Rad_Quality) #case (1) radiosity { // Settings 1 (fast) pretrace_start 0.08 pretrace_end 0.02 count 50 error_bound 0.5 recursion_limit 1 } #break #case (2) radiosity { // Settings 2 (medium quality) pretrace_start 0.08 pretrace_end 0.01 count 120 error_bound 0.25 recursion_limit 1 } #break #case (3) radiosity { // Settings 3 (high quality) pretrace_start 0.08 pretrace_end 0.005 count 400 error_bound 0.1 recursion_limit 1 } #break #case (4) radiosity { // Settings 4 (medium quality, recursion_limit 2) pretrace_start 0.08 pretrace_end 0.005 count 350 error_bound 0.15 recursion_limit 2 } #break #end } fog { fog_type 2 fog_alt 1.3 fog_offset 0 color rgb <0.7, 0.8, 0.9> distance 800 } light_source {<1000, 10000,-15000> color rgb <1.0, 0.9, 0.78>*2.3} sphere { // Sky <0, 0, 0>, 1 texture { pigment { gradient y color_map { [0.0 color rgb <1.0, 1.0, 1.0>] [0.3 color rgb <0.5, 0.6, 1.0>] } } finish {diffuse 0 ambient 1} } scale 10000 hollow on no_shadow } // THE SCENERY ITSELF #include "colors.inc" camera {location <500, 150, 0> direction z look_at <0, 150, 320>} plane {y, 0 pigment {color rgb <0.776, 0.706, 0.706>}} #declare Arch_01 = union { difference { cylinder {<-20, 0, 0>, <20, 0, 0>, 140} cylinder {<-21, 0, 0>, <21, 0, 0>, 130} torus {130 2 rotate z*90 translate x*20} torus {130 2 rotate z*90 translate x*-20} } difference { cylinder {<-18, 0, 0>, <18, 0, 0>, 130} cylinder {<-21, 0, 0>, <21, 0, 0>, 125} } torus {139 1 rotate z*90 translate x*20} torus {136 1 rotate z*90 translate x*20} torus {139 1 rotate z*90 translate x*-20} torus {136 1 rotate z*90 translate x*-20} clipped_by {plane {y, 0 inverse}} } #macro SphereBox (Radius) #local SpRad = sqrt (Radius*Radius + Radius*Radius); intersection { sphere {0, SpRad} box {<-Radius, 0,-Radius>, <Radius, Radius, Radius>} } #end #declare Column_01 = union { box {<-40, 0,-40>, <40, 50, 40>} box {<-35, 50,-35>, <35, 60, 35>} cylinder {<0, 60, 0>, <0, 66, 0>, 28} torus {28 3 translate y*63} difference { cylinder {<0, 66, 0>, <0, 70, 0>, 25} torus {25 2 translate y*68} } cylinder {<0, 70, 0>, <0, 74, 0>, 25} torus {25 2 translate y*72} cylinder {<0, 74, 0>, <0, 76, 0>, 25} sphere {<0, 0, 0>, 23 scale <1, 15, 1> translate y*76 clipped_by {cylinder {<0, 76, 0>, <0, 265, 0>, 30}}} torus {20 2 translate y*255} torus {19 2 translate y*258} object {SphereBox (20) rotate z*180 translate y*(260+22)} box {<-25, 282,-25>, <25, 285, 25>} box {<-20, 285,-22>, <20, 295, 22>} difference { cylinder {<-22, 290, 0>, <22, 290, 0>, 5} cylinder {<-23, 290, 0>, <23, 290, 0>, 3} } box {<-23, 295,-23>, <23, 298, 23>} box {<-28, 298,-28>, <28, 300, 28>} } #declare Vault_01 = difference { box {<-160, 0,-160>, <160, 250, 160>} cylinder {<-170, 0, 0>, <170, 0, 0>, 130} cylinder {<-170, 0, 0>, <170, 0, 0>, 130 rotate y*90} } #declare Vault_02 = difference { // (vault de coin) union { box {<-180, 0,-160>, <180, 250, 160>} box {<-160, 0,-180>, <160, 250, 180>} } cylinder {<-190, 0, 0>, <190, 0, 0>, 130} cylinder {<-190, 0, 0>, <190, 0, 0>, 130 rotate y*90} } #declare Spindle_01 = lathe { cubic_spline 12, <0.017005,-0.005668>, <0.117619,-0.004251>, <0.123287, 0.072272>, <0.068020, 0.124704>, <0.076523, 0.195559>, <0.141709, 0.444967>, <0.075106, 0.524324>, <0.138875, 0.616435>, <0.055267, 0.916859>, <0.137458, 0.973543>, <0.161549, 1.000468>, <0.204061, 0.991965> } #declare Band_01 = union { box {<0, 0,-25>, <-1, 60, 25>} box {<0, 0,-25>, <5, 2, 25>} box {<0, 8,-25>, <3, 2, 25>} box {<0, 8,-25>, <6, 15, 25>} box {<0, 8,-10>, <6, 15,-8>} box {<0, 8, 10>, <6, 15, 8>} box {<0, 20,-25>, <3, 19, 25>} box {<0, 50,-25>, <5, 60, 25>} box {<0, 50,-25>, <3, 55, 25>} box {<0, 20,-2>, <3, 40,-4>} box {<0, 20,-6>, <3, 40,-8>} box {<0, 20, 2>, <3, 40, 4>} box {<0, 20, 6>, <3, 40, 8>} box {<0, 42,-25>, <6, 40, 25>} box {<0, 0,-2>, <7, 8,-4>} box {<0, 0,-6>, <7, 8,-8>} box {<0, 0, 2>, <7, 8, 4>} box {<0, 0, 6>, <7, 8, 8>} } #declare Balcony_01 = union { box {<-10, 0,-.5>, <10, 10, .5>} cylinder {<-10, 5,-.5>, <-10, 5, .5>, 4} cylinder {<10, 5,-.5>, <10, 5, .5>, 4} } #declare Group1 = union { object {Arch_01 translate <-490, 300, 0>} object {Arch_01 translate <-490, 300, 300>} object {Arch_01 translate <-490, 300,-300>} object {Column_01 translate <-490, 0, 150>} object {Column_01 translate <-490, 0,-150>} object {Column_01 translate <-490, 0,-450>} object {Column_01 translate <-490, 0, 450>} object {Column_01 translate <-790, 0, 150>} object {Column_01 translate <-790, 0,-150>} object {Column_01 translate <-790, 0,-450>} object {Column_01 translate <-790, 0, 450>} object {Column_01 translate <-790, 0,-450-40>} object {Column_01 translate <-790, 0, 450+40>} object {Arch_01 rotate y*90 translate <-490-150, 300, 150>} object {Arch_01 rotate y*90 translate <-490-150, 300,-150>} object {Arch_01 rotate y*90 translate <-490-150, 300, 450>} object {Arch_01 rotate y*90 translate <-490-150, 300,-450>} object {Arch_01 rotate y*90 translate <-490-150, 300, 450+40>} // doubleaux object {Arch_01 rotate y*90 translate <-490-150, 300,-450-40>} object {Vault_01 translate <-640, 300, 0>} object {Vault_01 translate <-640, 300, 300>} object {Vault_01 translate <-640, 300,-300>} object {Vault_01 translate <-640, 300, 640>} // coin #declare I = 0; #while (I < 1000) object {Band_01 translate <-480, 500, (-470 + I)>} #declare I = I+50; #end #declare I = 0; #while (I < 1000) object {Spindle_01 scale <60, 60, 60> translate <-500, 550, (-500 + I)>} #declare I = I+40; #end object {Balcony_01 scale <1, 1, 1020> translate <-500, 610, 0>} object {Balcony_01 scale <1, 1, 1020> translate <-500, 610, 0> rotate y*90} object {Balcony_01 scale <1, 1, 1020> translate <-500, 610, 0> rotate y*180} object {Balcony_01 scale <1, 1, 1020> translate <-500, 610, 0> rotate y*270} box {<-790, 0,-810>, <-810, 450, 810>} } #declare PatioComplete = union { object {Group1} object {Group1 rotate y*90} object {Group1 rotate y*180} object {Group1 rotate y*270} } object {PatioComplete pigment {Wheat} finish {ambient 0.0 diffuse 0.6} } #declare Paving_01 = union { box {<-40, 0,-490>, <40, .1, 490> translate x*150} box {<-40, 0,-490>, <40, .1, 490> translate x*-150} box {<-40, 0,-490>, <40, .1, 490> translate x*490} box {<-40, 0,-490>, <40, .1, 490> translate x*-480} texture { pigment {color rgb <0.706, 0.714, 0.776>*.8} finish {ambient 0.0 diffuse 0.6} } } object {Paving_01} object {Paving_01 rotate y*90}
Et voici ce que nous obtenons :