// Persistence of Vision Ray Tracer Scene Description File // File: grace.pov // Date: 06/04/02 // Auth: Grace Tsai // #include "colors.inc" #include "shapes.inc" #include "skies.inc" #include "glass.inc" #include "textures.inc" #include "metals.inc" global_settings { assumed_gamma 1.5 } // ----------set camera angle------------------------------ camera { location <0.0, 0.5, -25.0> direction 1.5*z right 4/3*x look_at <0.0, 0.0, 0.0> //angle 90 //fish eye view } //----------set sky of clouds---------------- sky_sphere {S_Cloud1} // -------------An area light (creates soft shadows)-------------------- // WARNING: This special light can significantly slow down rendering times! light_source { 0*x // light's position (translated below) color rgb 1.0 // light's color // nLightsWide mLightsHigh area_light <8, 0, 0> <0, 0, 8> // lights spread out across this distance (x * z) 4, 4 // total number of lights in grid (4x*4z = 16 lights) adaptive 0 // 0,1,2,3... jitter // adds random softening of light translate <40, 80, -40> // position of light } light_source { 0*x // light's position (translated below) color red 1.0 green 1.0 blue 1.0 // light's color translate <-30, 30, -30> } //-----declare a rainbow color pattern------------ #declare Rainbow_Colors= color_map{ [0.0 color Magenta] [0.33 color Yellow] [0.67 color Cyan] [1.0 color Magenta] } //-----declare a ground color pattern------------ #declare Ground_Colors= color_map{ //[0.0 color Magenta] [0.8 color Yellow] [0.67 color Cyan] [1.0 color Magenta] } // --------------sets up the ground surface-------------------------- plane{y,0 texture{T_Silver_1E normal{waves 0.5 frequency 5000 } //finish{Mirror} scale 5000 } } //-------------blob----------------- blob{ threshold 0.6 sphere { <.75, 0, 0>, 1, 1} sphere { <-.375, .64952, 0>, 1, 1} sphere { <-.375, .64952, 0>, 1, 1} scale 2 pigment { gradient x color_map {Rainbow_Colors} } texture{T_Glass3} rotate 160*y translate <5, 0, 0> //interior{I_Glass} } //-----------declare blob1----------------- #declare Blob1= blob{ threshold 0.6 sphere { <.75, 0, 0>, 1, 1} sphere { <-.375, .64952, 0>, 1, 1} sphere { <-.375, .64952, 0>, 1, 1} scale 2 pigment { //use of the rainbow pattern gradient x color_map {Rainbow_Colors} } texture{T_Glass3} } //----------draw blob1-------------- object { Blob1 rotate -50*y translate <20, 15, 20> } object { Blob1 rotate 30*y translate <30, 20, 30> } object { Blob1 rotate -20*y rotate -150*x translate <-5,0, 10> } object { Blob1 rotate -50*y rotate -220*x translate <-4,1, 2> } object { Blob1 rotate -20*y rotate -100*x translate <-5,2, 0> } object { Blob1 rotate 80*y rotate -240*x translate <0,6, 20> } //--------declare torus---------------------- #declare Torus1 = torus { 10, 1.5 rotate 90*x } #declare Torus2 = torus { 15, 5 } #declare Torus3 = torus { 10, 3 rotate 90*x } //--------------declare row of torus rings------------------- #declare Queue = union { //declaring the line of torus que in order object { Torus3 translate 200*z } object { Torus3 translate 180*z } object { Torus3 translate 160*z } object { Torus3 translate 140*z } object { Torus3 translate 120*z } object { Torus3 translate 100*z } object { Torus3 translate 80*z } object { Torus3 translate 60*z } object { Torus3 translate 40*z } object { Torus3 translate 20*z } object { Torus3 translate 0*z } object { Torus3 translate -20*z } object { Torus3 translate -40*z } object { Torus3 translate -60*z } object { Torus3 translate -80*z } object { Torus3 translate -100*z } object { Torus3 translate -120*z } object { Torus3 translate -140*z } object { Torus3 translate -160*z } object { Torus3 translate -180*z } object { Torus3 translate -200*z } object { Torus3 translate -220*z } object { Torus3 translate -240*z } object { Torus3 translate -260*z } object { Torus3 translate -280*z } object { Torus3 translate -300*z } object { Torus3 translate -320*z } object { Torus3 translate -340*z } object { Torus3 translate -360*z } object { Torus3 translate -380*z } object { Torus3 translate -400*z } object { Torus3 translate -420*z } object { Torus3 translate -440*z } object { Torus3 translate -460*z } object { Torus3 translate -480*z } object { Torus3 translate -500*z } object { Torus3 translate -520*z } object { Torus3 translate -540*z } object { Torus3 translate -560*z } object { Torus3 translate -580*z } object { Torus3 translate -600*z } } //drawing row of circle object { Queue texture { Copper_Metal } rotate 1*y //translate <20, 50, 20> }