1 // This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
2 // To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a
3 // letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
5 // Persistence of Vision Raytracer Scene Description File
6 // File: diffuse_back.pov
7 // Author: Christoph Lipka
8 // Description: Demonstrates diffuse backside illumination
13 // Warning: this will take time!
18 #
declare Radiosity
=on;
52 finish { ambient 0.2 }
56 // ----------------------------------------
58 #
declare OverallBrightness
= 8;
59 #
declare OverallScale
= 100;
62 right x*image_width
/image_height
// keep proportions with any aspect ratio
63 location < 1,1.6,-2.5>*OverallScale
64 look_at <-2.0,1.2,0>*OverallScale
68 vnormalize(<-500,200,-250>)*1000*OverallScale
69 color rgb 1.3 * OverallBrightness
70 area_light x*10*OverallScale
,y*10*OverallScale
, 9,9 adaptive 1 jitter circular orient
81 [0.0 rgb <0.6,0.7,1.0>*OverallBrightness
*0.5]
82 [0.7 rgb <0.0,0.1,0.8>*OverallBrightness
*0.5]
88 // ----------------------------------------
92 pigment { color rgb <1.0, 0.8, 0.6> }
93 finish { diffuse 0.5 }
97 #
declare M_SolidWhite
= material
{
100 finish { ambient 0 diffuse 0.8 specular 0.2 reflection { 0.2 } }
107 box { <-3.1,-1,-4>, <3.1,3.5,4> } // solid block
108 box { <-3,-0.2,-3>, <3,2.5,3> } // main room cutout
109 box { <-3.2,0.3,-2>, <2.9,2,2> } // window cutout
111 pigment { color rgb <0.9, 0.9, 0.9> }
112 finish { diffuse 1.0 }
120 cylinder { <-3.05,0, 1>, <-3.05,2, 1>, 0.05 }
121 cylinder { <-3.05,0,-1>, <-3.05,2,-1>, 0.05 }
122 material
{ M_SolidWhite
}
128 #
declare Baseboard
= union {
129 cylinder { <-3,0.1,0>, <3,0.1,0>, 0.025 }
130 box { <-3,0,0>, <3,0.1,-0.025> }
131 material
{ M_SolidWhite
}
137 object { Baseboard
rotate y*90 }
138 object { Baseboard
rotate y*180 }
139 object { Baseboard
rotate y*270 }
144 box { <-3,0,-3>, <3,-0.1,3>
145 pigment { color rgb <1.0, 0.8, 0.6> }
152 #
declare M_Curtains
= material
{
154 pigment { rgb <1.0,0.8,0.6> }
162 #
declare Curtain
= union {
163 polygon{ 5, <0,0.1,2.0>, <0,0.1,0.1>, <0,2.45,0.1>, <0,2.45,2.0>, <0,0.1,2.0> material
{ M_Curtains
} }
164 cylinder { <0,0.1,2.025>, <0,0.1,0.075>, 0.025 material
{ M_SolidWhite
} }
165 cylinder { <0,2.45,2.025>, <0,2.45,0.075>, 0.025 material
{ M_SolidWhite
} }
167 material
{ M_Curtains
}
172 object { Curtain
scale <1,1,-1> }
178 #
declare M_Screen
= material
{
180 pigment { rgbt <1,1,1, 0.01> }
190 #
declare Screen
= cylinder { <0,0,0>, <0,1.0,0>, 0.5
192 clipped_by { plane { x, 0.1 } }
193 material
{ M_Screen
}
197 object { Screen
rotate y*45 translate <-2.25,0,2> }
198 object { Screen
rotate y*0 translate <-2.25,0,-1.0> }
204 #
declare M_Glass
= material
{
222 fade_distance 0.9 * 10
223 fade_color
<0.5,0.8,0.6>
230 translate <-1.8,0,0.5>
232 photons
{ // photon block for an object
241 <0,0.01,0>, <0,2.5,0>, 1
243 translate <-3.05,0.3,0.4>
245 photons
{ // photon block for an object