//photo studio example scene, nice for building objects in. //------------------------------studio setup----------------------------------- #include "rad_def.inc" global_settings { assumed_gamma 1 radiosity { Rad_Settings(Radiosity_Fast,on,on) } } #default { pigment { rgb 1 } finish { diffuse .95 ambient 0 } } #declare MainView = 0; #declare IsometricFar = 1; #declare IsometricNear = 2; #declare BehindTheScenes = 3; #declare CamType = MainView; camera { right x*image_width/image_height up y #switch (CamType) #case (MainView) direction z*2 location <0,0,-8> look_at 0 //main camera #break; #case (IsometricFar) direction z*2 location <-30,20,-30> look_at 0 //external view #break; #case (IsometricNear) direction z*4 location <-10,10,-10> look_at 0 //external view #break; #case (BehindTheScenes) direction z*1 location <-15,5,-10> look_at 0 //external view #break; #end } #if (CamType != MainView) //main view frustum intersection { plane { y-z, 0 } plane { -y-z, 0 } plane { x-z*image_width/image_height, 0 } plane { -x-z*image_width/image_height, 0 } scale <1,1,2> //zoom, scale factor on direction for MainView camera clipped_by { plane { z, 1 } } translate <0,0,-8> //position of MainView Camera hollow on no_shadow no_reflection pigment { rgb <.4,.7,1> transmit .5 } } #end sky_sphere { //suggestions of curtains or something, to make reflective surfaces more interesting pigment { planar cubic_wave pigment_map { [0 rgb 0] [1 pigment_pattern { pigment_pattern { pigment_pattern { radial frequency 3 poly_wave .7 } frequency 2.5 } sine_wave colour_map { [.3 rgb 0] [1 rgb 1] } } poly_wave 2 scale 2 warp { turbulence .2 octaves 2 } scale 1/2 colour_map { [0 rgb 0][1 rgb .1] } ] } } } box { -1, 1 scale 10 translate -12*y pigment { rgb .1 } } light_source { <-1,1,-1>*20, rgb 1 } //light-boxes, for radiosity and reflections #local A = 1.4; box { -1,1 no_shadow scale <4,4,.1> translate z*10 rotate z*45 rotate <-45,50,0> pigment { rgb 1 } finish { diffuse 0 ambient A } } box { -1,1 no_shadow scale <5,5,.1> translate z*10 rotate z*45 rotate <-30,-70,0> pigment { rgb 1 } finish { diffuse 0 ambient A } } box { -1,1 no_shadow scale <4,4,.1> translate z*10 rotate z*45 rotate <-30,160,0> pigment { rgb 1 } finish { diffuse 0 ambient A } } //ground, a white wall curving round to a white floor difference { box { <-.5,0,0>, <.5,-1.1,1.1> } superellipsoid { <.1,.1> } translate y-z/2 scale 8 translate -y*1 finish { brilliance 1 } //a bit more prone to catching light than my default 2, well okay it's just to make it brighter :) } //------------------------------end studio setup----------------------------------- //To use this studio, scale objects to around about 1 povray unit, placed at the origin. The ground is at -1*y //----------------------------------materials-------------------------------------- #declare dull_silver = texture { pigment { rgb 1 } finish { brilliance 8 } } #declare smooth_silver = texture { pigment { rgb .8 } finish { brilliance 8 phong .8 phong_size 4 } } texture { pigment { rgbt 1 } finish { phong 1 phong_size 100 reflection { .2, 1 falloff 5 } conserve_energy } } #declare dull_steel = texture { pigment { rgb .5 } finish { brilliance 8 phong 1 phong_size 3 } } texture { pigment { rgbt 1 } finish { phong 1 phong_size 200 reflection { .1, 1 falloff 5 } conserve_energy } } #declare smooth_steel = texture { pigment { rgb .4 } finish { brilliance 8 phong .25 phong_size 2 } } texture { pigment { rgbt 1 } finish { phong 1 phong_size 200 reflection { .9, 1 falloff 5 } conserve_energy } } #declare red_metallic = texture { pigment { rgb <.7,0,0> } finish { brilliance 2 } //hard to explain but it makes it more contrasty, suits artifical/metallic materials } texture { //tinted metallic flecks pigment { rgb <1,.2,.3> transmit 1 } finish { diffuse 0 phong 1 phong_size 20 metallic 1 } normal { facets coords 1 scale .01 } //coords n bigger=noisier } texture { pigment { rgbt 1 } finish { reflection { 0, 1 falloff 5 } phong 1 phong_size 500 } } //--------------------------------------blobby man---------------------------------- torus { .55,.05 texture { average texture_map { [.5 dull_silver] [.5 smooth_silver] } } } blob { sphere { 0, 1, 2 } sphere { -y-x/2, .7, 2 } sphere { -y+x/2, .7, 2 } sphere { y/2+x, .7, 2 } sphere { y/2-x, .7, 2 } sphere { y, .7, 2 } texture { red_metallic } } sphere { <.6,-.7,-.7>, .3 texture { smooth_steel } }