//Description: // A redesign of an earlier scene // now with radiosity and better textures // A jittered, spiky helix with hollow glass balls attached to it //Author: Ben Scheele // Date: original 1-5-2001 --> redesign 3-16-2003 #include "colors.inc" #include "metals.inc" #declare rad = 1; global_settings { #if(rad = true) radiosity { pretrace_start 0.08 pretrace_end .01 count 100 nearest_count 7 error_bound 1.4 recursion_limit 1 low_error_factor 0.5 gray_threshold 0.0 minimum_reuse 0.015 brightness 1.2 adc_bailout 0.01/2 } ambient_light off #end } camera { location -75*x look_at 0 angle 30 } light_source { <-150,300,-20> rgb .65 } light_source { <-100,-100,50> rgb .3 } light_source { 600*x rgb 1.7 } sky_sphere{ pigment{ cylindrical rotate 90*z triangle_wave phase 1 color_map{ [ 0 rgb <1.3,.9> ] [ .5 rgb <1,.4> ] [ 1 rgb x ] } } } sphere{ 0, 1 hollow scale 500 texture{ pigment{ wrinkles scale <1,50,50> turbulence .75 warp{ turbulence .5 octaves 8 lambda .35 omega .85 } color_map{ [ 0 rgbt 1 ] [ .48 rgbt <1,.7,.5> ] [ .5 rgbt <.9,.9,1.1,.2> ] [ 1 rgbt <.6,.5,.9,.15> ] } } } } #declare s1 = seed(30045); #declare s2 = seed(29837); #declare s3 = seed(12978); #declare s4 = seed(15455); #declare s5 = seed(18052); #declare geode_metal = finish{ ambient .3 phong .4 specular .4 reflection{ .2 .5 metallic .25 } roughness .05 brilliance 1 metallic .3 } #declare Ball = difference{ sphere{ 0, .65 hollow } sphere{ 0, .64 hollow } pigment{ rgbf <.2,1,0,.2> transmit .5} normal{ bumps .3 scale .05} finish{ geode_metal } interior{ ior 1.3 caustics 1 fade_distance .5 fade_power 2 } } #declare spike = prism { conic_sweep linear_spline 0, 1, 5, <-2,-2>,<-2, 2>,< 2, 2>, < 2,-2>,<-2,-2> } #declare objects = union{ #declare Nr = -25; #declare EndNr = 35; #while(Nr } finish{ geode_metal }} scale <.15*(1+k),6+2*rand(s3),.15*(1+k)> rotate <180,30> translate 10*y } object { Ball scale 5/(2*dist)+.5*k translate dist*y } translate Nr*z rotate (1.5*(Nr*360/EndNr) + 5*rand(s4))*z } #declare Nr = Nr + .1; #end #declare a = 0; #declare b = 0; #declare c = 0; #declare r = 0; #declare n = .2; #declare ct = 0; #declare X = -60; #declare EndX = 74; #while(X < EndX) union{ cone{ 0, r z*2, b } cone{ z*2, b z*4, c } cone{ z*4, c z*6, a } texture{ T_Silver_5A finish{ geode_metal }} normal{ ripples .5 scale .25 turbulence .5 } translate X*z scale <.8,.8,.5> } #declare r = a; #declare a = rand(s1)+n; #declare b = rand(s2)+n; #declare c = rand(s3)+n; #declare ct = ct + 1; #declare X = X + 3; #end scale <1.35,1.35,1> rotate 45*y } object{ objects }