#include "colors.inc" #include "metals.inc" #include "stars.inc" global_settings { assumed_gamma 2.2 } //global_settings { ambient_light < 2, 2, 2 > } light_source { < -10, 10, -10 > color White } light_source { < 0, 10, -10 > color White } light_source { < 10, 10, -10 > color White } #declare branch_texture = texture { pigment { rgb < .5, .4, .2 > } finish { roughness 1 } normal { bumps.9 turbulence .7 scale .025 } } #declare needle_texture = texture { pigment { rgb < 0.2, 0.5, 0.2 > } finish { ambient 0.1 brilliance 6 diffuse 0.1 specular 1 roughness 0.001 reflection 0.9 metallic } } sphere { < 0, 0, 0 > 10 translate < 0, -2, 0 > scale < 1, 0.1, 1 > texture { pigment { color White } normal { bumps 1 turbulence 1 scale 0.1 } } } cylinder { < 0, 500, 0 > < 0, 600, 0 >, 700 pigment { color White } } camera { location < 0, 5, -20 > look_at < 0, 7, 0 > } #declare tree_height = 48; #declare branch_increment = 0.2; #declare needle_increment = 2.0; #include "Xmas2.inc" object { xtree scale 0.25 rotate 90 * y } #declare colour1 = <1.3, 1.2, .9>; #declare colour2 = <.4, .8, 1>; #declare colour3 = (colour1 + colour2) / 2; object { disc { 0, z, .999 pigment { average pigment_map { [1 onion color_map { [.1 rgb colour1 * 8 transmit pow(.05, 1)] [.3 rgb colour3 * 2 transmit pow(.2, 1)] [.35 rgb colour1 * 3 transmit pow(.1, 1)] [.4 rgb colour3 * 1.5 transmit pow(.2, 1)] [.7 rgb colour2 transmit pow(.5, 1)] [.71 rgb colour3 * 1.5 transmit pow(.4, 1)] [.72 rgb colour2 transmit pow(.5, 1)] [1 rgb colour2 transmit 1] } scallop_wave scale 2] [1 onion color_map { [0 rgb colour1 * 2 transmit pow(.05, 1)] [.02 rgb colour2 transmit 1] } scale <45, 1, 1>] [1 onion color_map { [0 rgb colour1 * 2 transmit pow(.05, 1)] [.02 rgb colour2 transmit 1] } scale <1, 50, 1>] } } } scale 2 translate < 0, 13, 0 > }