1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
|
// This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
// To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
// letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
// Persistence Of Vision raytracer sample file.
//
// -w320 -h240
// -w800 -h600 +a0.3
#version 3.7;
global_settings {
assumed_gamma 1.0
number_of_waves 10
}
#include "shapes.inc"
#include "colors.inc"
#include "textures.inc"
fog{
color Gray70
fog_type 2
fog_alt 0.35
fog_offset 0
distance 1.5
turbulence <.15, .15, .15>
omega 0.35
lambda 1.25
octaves 5
}
// Camera definition
camera {
location <4, 1.5, -8>
angle 65 // direction <0, 0, 1>
up <0, 1, 0>
right x*image_width/image_height // keep propotions with any aspect ratio
look_at <-1, 1.5, 0>
}
light_source { <30, 50, -50> color Gray90 }
light_source { <-30, 50, -50> color Violet }
//Floor
plane { y, 0
pigment{ color MidnightBlue }
normal { ripples 0.75 frequency 7 scale 1.5}
finish {
reflection 0.15
ambient 0.3
}
}
// Sky
sky_sphere { pigment {color MidnightBlue}}
#declare Brick_Texture = texture {
pigment {
brick Gray70, Wheat
}
normal {
brick 0.75
}
finish {
crand 0.003
diffuse 0.6 ambient 0.20
}
scale <0.1, 0.1, 0.05>
translate <0.25, 0.30, 0.25>
}
#declare Span = difference {
object { UnitBox }
object { Disk_Z scale <0.85, 0.75, 1.5> } // cross-arches
object { Disk_X scale <1.15, 0.7, 0.7> } // lengthwise arches
clipped_by { plane { -y,0 } }
}
#declare Bridge = union {
object { Span }
object { Span translate -x*2}
object { Span translate x*2}
object { Span translate -x*4}
object { Span translate x*4}
object { Span translate -x*6}
object { Span translate x*6}
object { Cube scale <12, 0.15, 1.005> translate y*1.2}
object { Cube scale <12, 0.05, 1.05> translate y*1.2}
scale <1,1,2>
}
object {Bridge scale <5.25,4,1>
texture { Brick_Texture }
rotate y*90
translate <-1, 0, 25>
}
union {
difference {
union {
object { Disk_Y scale <10, 23, 10> }
object { Disk_Y scale <11, 1, 11> translate <0, 23, 0>}
}
object { Disk_Z scale <2.5, 10, 12> }
}
union {
box { <-100, 0, 10> <10, 28, 20> }
box { <-110, 28, 08> <10, 29, 22> }
}
translate <0, 0, 45>
texture { Brick_Texture scale 2 }
}
|