-
Notifications
You must be signed in to change notification settings - Fork 0
/
Window.pov
88 lines (75 loc) · 1.7 KB
/
Window.pov
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
#version 3.7;
#include "colors.inc"
#include "shapes.inc"
#include "Utils.pov"
#local debugMode = 0;
#if (debugMode)
global_settings {
assumed_gamma 1
}
#end
#declare WindowGlass =
texture{
pigment {
rgbf<0.90,0.90,0.90,0.8>
}
finish {
diffuse 0.1
reflection 0.02
specular 0.8
roughness 0.0003
phong 1
phong_size 400
}
}
// ----------------------------------------
// Window
// ----------------------------------------
#macro Window(winWidth, winHeight, thick, numWindows)
#local offsetX = numWindows * winWidth / 2;
union {
#for (I, 0, numWindows - 1)
union {
Frame(
<I * winWidth - offsetX, 0, 0>,
<(I + 1) * winWidth - offsetX, winHeight, thick>,
thick,
z
)
box {
<I * winWidth, 0, thick/3>,
<(I + 1) * winWidth, winHeight, 2*thick/3>
texture { WindowGlass }
}
}
#end
}
#end
// ----------------------------------------
// Scene
// ----------------------------------------
#if (debugMode)
camera {
location <0, 1, -1.5>
look_at <0, 0, 1>
}
background { White * 0.5 }
light_source { <-1, 2, -2> color White }
plane {
y, -1
texture {
pigment { checker rgb<0.3, 0.3, 0.3> White }
}
}
union {
object {
Window(0.5, 0.6, 0.02, 4)
translate y * 0.5
}
object {
Window(0.5, 0.5, 0.02, 4)
}
pigment { Gray }
rotate y * 10
}
#end