// Hans-Jakob Schwer 2008 // povray 3.6 scenefile // a kind of future city, recursive algh. #include "colors.inc" #include "textures.inc" #include "shapes.inc" #include "metals.inc" #include "glass.inc" #include "woods.inc" global_settings {max_trace_level 12} camera { location <-9, -3, +12> look_at <0,0,0> } #declare Dist=80.0; light_source {< -50, 25, -50> color White fade_distance Dist fade_power 2 } light_source {< 50, 50, -4> color Blue fade_distance Dist fade_power 2 } light_source {< -5, -50, 40> color Red fade_distance Dist fade_power 2 } #declare M_Wood18B = colour_map { [0.00 0.25 color rgbf < 0.50, 0.26, 0.12, 0.10> color rgbf < 0.54, 0.29, 0.13, 0.20>] [0.25 0.40 color rgbf < 0.54, 0.29, 0.13, 0.20> color rgbf < 0.55, 0.28, 0.10, 0.70>] [0.40 0.50 color rgbf < 0.55, 0.28, 0.10, 0.70> color rgbf < 0.50, 0.23, 0.15, 0.95>] [0.50 0.70 color rgbf < 0.50, 0.23, 0.15, 0.95> color rgbf < 0.56, 0.29, 0.17, 0.70>] [0.70 0.98 color rgbf < 0.56, 0.29, 0.17, 0.70> color rgbf < 0.54, 0.29, 0.13, 0.20>] [0.98 1.00 color rgbf < 0.54, 0.29, 0.13, 0.20> color rgbf < 0.0, 0.0, 0.0, 0.70>] } #declare Floor_Texture = texture { pigment { P_WoodGrain18A color_map { M_Wood18A }}} texture { pigment { P_WoodGrain12A color_map { M_Wood18B }}} texture { pigment { P_WoodGrain12B color_map { M_Wood18B }} finish { reflection 0.25 } } #declare Floor = plane { y,0 texture { pigment { crackle scale 1.5 turbulence 0.6 color_map { [0.00 0.25 color rgbf < 0.50, 0.26, 0.12, 0.10> color rgbf < 0.54, 0.29, 0.13, 0.20>] [0.25 0.40 color rgbf < 0.54, 0.29, 0.13, 0.20> color rgbf < 0.55, 0.28, 0.10, 0.70>] [0.40 0.50 color rgbf < 0.55, 0.28, 0.10, 0.70> color rgbf < 0.50, 0.23, 0.15, 0.95>] [0.50 0.70 color rgbf < 0.50, 0.23, 0.15, 0.95> color rgbf < 0.56, 0.29, 0.17, 0.70>] [0.70 0.98 color rgbf < 0.56, 0.29, 0.17, 0.70> color rgbf < 0.54, 0.29, 0.13, 0.20>] [0.98 1.00 color rgbf < 0.54, 0.29, 0.13, 0.20> color rgbf < 0.50, 0.26, 0.12, 0.10>] } scale 2.2 } scale 1.1 rotate y*90 rotate <10, 0, 15> translate <0, -5, 0> } translate <0, -10, 0> } #macro rek2(stufe, x_, y_, z_, x2_, y2_, z2_,ori) object { #union { box { , texture{ T_Glass2 } interior {I_Glass caustics 1} } } } #if(stufe > 0) #local dx = x2_ - x_; #local dy = y2_ - y_; #local dz = z2_ - z_; #local dxv = dx * 0.1; #local dyv = dy * 0.1; #local dzv = dz * 0.1; #if(ori = 0) rek2(stufe-1, x_+dxv, y_-dy, z_+dzv, x2_-dxv, y2_-dy, z2_-dzv,0) #if(mod(stufe,12) = 0) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,2) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,3) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,4) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,5) #end #end #if(ori = 1) rek2(stufe-1, x_+dxv, y_+dy, z_+dzv, x2_-dxv, y2_+dy, z2_-dzv,1) #if(mod(stufe,12) = 0) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,2) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,3) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,4) rek2(stufe-3,x_,y_,z_,x2_,y2_,z2_,5) #end #end #if(ori = 2) rek2(stufe-1, x_+dx, y_+dyv, z_+dzv, x2_+dx, y2_-dyv, z2_-dzv,2) #if(mod(stufe,2) = 0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,1) #end #end #if(ori = 3) rek2(stufe-1, x_-dx, y_+dyv, z_+dzv, x2_-dx, y2_-dyv, z2_-dzv,3) #if(mod(stufe,2) = 0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,1) #end #end #if(ori = 4) rek2(stufe-1, x_+dxv, y_+dyv, z_+dz, x2_-dxv, y2_-dyv, z2_+dz,4) #if(mod(stufe,3) = 0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,1) #end #end #if(ori = 5) rek2(stufe-1, x_+dxv, y_+dyv, z_-dz, x2_-dxv, y2_-dyv, z2_-dz,5) #if(mod(stufe,3) = 0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,0) rek2(stufe,x_,y_,z_,x2_,y2_,z2_,1) #end #end #end #end object { #union { rek2(24,2,0.1,2,-2,-0.1,-2,0) rek2(24,2,0.1,2,-2,-0.1,-2,1) rek2(24,2,0.1,2,-2,-0.1,-2,2) rek2(24,2,0.1,2,-2,-0.1,-2,3) rek2(24,2,0.1,2,-2,-0.1,-2,4) rek2(24,2,0.1,2,-2,-0.1,-2,5) } } object { Floor }