lookat(0, 0, 5, 0, 0, 0, 0) raysperpixel 4 light { colour 1, 0, 0 location(0, 0, 10) } light { colour 0, 1, 1 location(10, 10, 10) } light { colour 0, 0, 1 location(-10, 5, 10) } light { colour .8, .7, 1 direction(0, 0, -1) } polygon { vertex(-50, -50, -50) vertex( 50, -50, -50) vertex( 50, 50, -50) vertex(-50, 50, -50) colour 0.3, 0.7, 0.2 material 1, 0.2, 0.2, 3 reflectance 0.8 } colour 1, 1, 1 /*reflectance .1*/ ambient 0.3, 0.3, 0.3 /*transparency .8*/ material 1.5, .2, .7, 10 sphere s1 { radius 1 center(0, 0, 0) } box b1 { vertex(-1, -1, -1) vertex( 1, 1, 1) } cone c1 { center(0, -1, 0) radius 1 vertex(0, 1, 0) } torus t1 { center(0, 0, 0) radii .9, .4 } superquadric sq1 { vertex (-1.3, -1.3, -1.3) vertex ( 1.3, 1.3, 1.3) order 1 } fuzz_scale = 0.2 spot_mix = 0.5 spot_scale = 0.08 gran_mix = 0.5 gran_scale = 0.01 marb_turb = 3 marb_scale = 0.6 marb_squeeze = 3 wood_turb = 0.5 wood_scale = 0.05 wood_squeeze = 1 wood_skew = 20 wood_trans = 5 /* 1) Fuzzy ones */ c1 { texture fuzzy scalefactor fuzz_scale rotate(30, x) rotate(30, z) translate(-4, 4, 0) } s1 { texture fuzzy scalefactor fuzz_scale rotate(30, x) rotate(30, z) translate(-4, 2, 0) } b1 { texture fuzzy scalefactor fuzz_scale rotate(30, x) rotate(30, z) translate(-4, 0, 0) } t1 { texture fuzzy scalefactor fuzz_scale rotate(30, x) rotate(30, z) translate(-4, -2, 0) } sq1 { texture fuzzy scalefactor fuzz_scale rotate(30, x) rotate(30, z) translate(-4, -4, 0) } /* 2) Spotted ones */ c1 { colour 0.3, 0.3, 0.4 texture spotted { scalefactor spot_mix scale(spot_scale, spot_scale, spot_scale) } rotate(20, x) rotate(20, z) translate(-2, 4, 0) } s1 { colour 0.3, 0.3, 0.4 texture spotted { scalefactor spot_mix scale(spot_scale, spot_scale, spot_scale) } rotate(20, x) rotate(20, z) translate(-2, 2, 0) } b1 { colour 0.3, 0.3, 0.4 texture spotted { scalefactor spot_mix scale(spot_scale, spot_scale, spot_scale) } rotate(20, x) rotate(20, z) translate(-2, 0, 0) } t1 { colour 0.3, 0.3, 0.4 texture spotted { scalefactor spot_mix scale(spot_scale, spot_scale, spot_scale) } rotate(20, x) rotate(20, z) translate(-2, -2, 0) } sq1 { colour 0.3, 0.3, 0.4 texture spotted { scalefactor spot_mix scale(spot_scale, spot_scale, spot_scale) } rotate(20, x) rotate(20, z) translate(-2, -4, 0) } /* 3) Marble ones */ c1 { texture marble { scale (marb_scale, marb_scale, marb_scale) blendcolour 0.3, 0.3, 0.3 turbulence marb_turb squeeze marb_squeeze } rotate(40, x) rotate(40, z) translate(0, 4, 0) } s1 { texture marble { scale (marb_scale, marb_scale, marb_scale) blendcolour 0.3, 0.3, 0.3 turbulence marb_turb squeeze marb_squeeze } rotate(40, x) rotate(40, z) translate(0, 2, 0) } b1 { texture marble { scale (marb_scale, marb_scale, marb_scale) blendcolour 0.3, 0.3, 0.3 turbulence marb_turb squeeze marb_squeeze } rotate(40, x) rotate(40, z) translate(0, 0, 0) } t1 { texture marble { scale (marb_scale, marb_scale, marb_scale) blendcolour 0.3, 0.3, 0.3 turbulence marb_turb squeeze marb_squeeze } rotate(40, x) rotate(40, z) translate(0, -2, 0) } sq1 { texture marble { scale (marb_scale, marb_scale, marb_scale) blendcolour 0.3, 0.3, 0.3 turbulence marb_turb squeeze marb_squeeze } rotate(40, x) rotate(40, z) translate(0, -4, 0) } /* 4) Granite ones */ c1 { texture granite { scalefactor gran_mix scale (gran_scale, gran_scale, gran_scale) blendcolour 0.5, 0.3, 0.3 } rotate(50, x) rotate(50, z) translate(2, 4, 0) } s1 { texture granite { scalefactor gran_mix scale (gran_scale, gran_scale, gran_scale) blendcolour 0.5, 0.3, 0.3 } rotate(50, x) rotate(50, z) translate(2, 2, 0) } b1 { texture granite { scalefactor gran_mix scale (gran_scale, gran_scale, gran_scale) blendcolour 0.5, 0.3, 0.3 } rotate(50, x) rotate(50, z) translate(2, 0, 0) } t1 { texture granite { scalefactor gran_mix scale (gran_scale, gran_scale, gran_scale) blendcolour 0.5, 0.3, 0.3 } rotate(50, x) rotate(50, z) translate(2, -2, 0) } sq1 { texture granite { scalefactor gran_mix scale (gran_scale, gran_scale, gran_scale) blendcolour 0.5, 0.3, 0.3 } rotate(50, x) rotate(50, z) translate(2, -4, 0) } /* 5) Wooden ones */ c1 { colour 0.815, 0.5, 0.278 texture wood { scale (wood_scale, wood_scale, wood_scale) rotate(wood_skew, x) rotate(wood_skew, z) translate(wood_trans, wood_trans, wood_trans) blendcolour 0.5, 0.4, 0.2 turbulence wood_turb squeeze wood_squeeze } rotate(60, x) rotate(60, z) translate(4, 4, 0) } s1 { colour 0.815, 0.5, 0.278 texture wood { scale (wood_scale, wood_scale, wood_scale) rotate(wood_skew, x) rotate(wood_skew, z) translate(wood_trans, wood_trans, wood_trans) blendcolour 0.5, 0.4, 0.2 turbulence wood_turb squeeze wood_squeeze } rotate(60, x) rotate(60, z) translate(4, 2, 0) } b1 { colour 0.815, 0.5, 0.278 texture wood { scale (wood_scale, wood_scale, wood_scale) rotate(wood_skew, x) rotate(wood_skew, z) translate(wood_trans, wood_trans, wood_trans) blendcolour 0.5, 0.4, 0.2 turbulence wood_turb squeeze wood_squeeze } rotate(60, x) rotate(60, z) translate(4, 0, 0) } t1 { colour 0.815, 0.5, 0.278 texture wood { scale (wood_scale, wood_scale, wood_scale) rotate(wood_skew, x) rotate(wood_skew, z) translate(wood_trans, wood_trans, wood_trans) blendcolour 0.5, 0.4, 0.2 turbulence wood_turb squeeze wood_squeeze } rotate(60, x) rotate(60, z) translate(4, -2, 0) } sq1 { colour 0.815, 0.5, 0.278 texture wood { scale (wood_scale, wood_scale, wood_scale) rotate(wood_skew, x) rotate(wood_skew, z) translate(wood_trans, wood_trans, wood_trans) blendcolour 0.5, 0.4, 0.2 turbulence wood_turb squeeze wood_squeeze } rotate(60, x) rotate(60, z) translate(4, -4, 0) }