%antialias 0.0 0.0 0.0 point 1.0 0.0 0.0 point 1.0 0.0 1.0 point 0.0 0.0 1.0 point 4 { /v /u /face 0.0 1.0 0.0 point 0.6 0.6 3.0 } polygon /base 0.0 0.0 0.0 point 1.0 0.0 0.0 point 0.5 1.0 0.5 point 3 { /v /u /face 0.0 1.0 0.0 point 0.6 0.6 3.0 } polygon /side { /v /u /face 0.8 0.2 0.2 point 0.6 0.6 150.0 } sphere 0.07 uscale /red_ball { /v /u /face 0.2 0.2 0.8 point 0.6 0.6 150.0 } sphere 0.07 uscale /blue_ball { /v /u /face 0.9 0.9 0.9 point 0.6 0.0 20.0 } sphere /white_ball { /v /u /face 0.1 0.1 0.1 point 0.6 0.6 200.0 } sphere /black_ball { /v /u /face 0.8 0.8 0.2 point 0.6 0.6 200.0 } cube -0.5 -0.5 -0.5 translate 0.10 uscale /angel_part angel_part angel_part 45.0 rotatey union angel_part 45.0 rotatex union 0.0 0.7 0.0 translate /angel white_ball 0.4 uscale white_ball 0.325 uscale 0.0 0.475 0.0 translate union white_ball 0.25 uscale 0.0 0.875 0.0 translate union black_ball 0.035 uscale 0.2 0.92 -0.175 translate union black_ball 0.035 uscale 0.1 0.92 -0.22 translate union /snow_man base side union side -1.0 0.0 0.0 translate 90.0 rotatey union side -53.0 rotatex 0.0 0.0 1.0 translate union side -53.0 rotatex 90.0 rotatey 1.0 0.0 1.0 translate union /tree_part tree_part -0.5 0.0 -0.5 translate 45.0 rotatey tree_part -0.5 0.0 -0.5 translate union /tree_section tree_section 0.3 uscale 0.0 0.35 0.0 translate tree_section 0.5 uscale 0.0 0.0 0.0 translate union tree_section 0.8 uscale 0.0 -0.45 0.0 translate union /tree_body red_ball 0.4 -0.05 0.0 translate blue_ball 0.4 -0.05 0.0 translate 45.0 rotatey union red_ball 0.4 -0.05 0.0 translate 90.0 rotatey union blue_ball 0.4 -0.05 0.0 translate 135.0 rotatey union red_ball 0.4 -0.05 0.0 translate 180.0 rotatey union blue_ball 0.4 -0.05 0.0 translate 225.0 rotatey union red_ball 0.4 -0.05 0.0 translate 270.0 rotatey union blue_ball 0.4 -0.05 0.0 translate 315.0 rotatey union /decorations tree_body decorations union decorations 45.0 rotatey 1.3 uscale 0.0 -0.50 0.0 translate union %decorations 45.0 rotatey 0.525 uscale 0.0 0.35 0.0 translate union angel union /tree tree 0.0 0.0 2.0 translate tree -0.5 0.0 2.75 translate union tree 0.75 0.0 2.25 translate union snow_man -0.6 -0.75 1.55 translate union { /v /u /face 1.0 1.0 1.0 point 1.0 0.0 0.0 } plane union /scene 1.0 1.0 1.0 point 1.0 1.0 1.0 point pointlight /l1 0.4 0.4 0.4 point % ambient light [ l1 ] % light source array scene % scene to render 1 % tracing depth 60.0 % field of view 1024 768 % image width and height "tree.ppm" % output file render