81 |
|
|
82 |
endfig; |
endfig; |
83 |
|
|
84 |
|
size = 100pt; |
85 |
|
|
86 |
|
def drawgrid(expr x, y, side, light) = |
87 |
|
|
88 |
|
fill (x,y)--(x+side*size,y)-- |
89 |
|
(x+side*size,y+side*size)--(x,y+side*size)--cycle |
90 |
|
withcolor 0.5 * white; |
91 |
|
|
92 |
|
if light: |
93 |
|
fill (x,y)--(x+size,y)-- |
94 |
|
(x+size,y+size)--(x,y+size)--cycle |
95 |
|
withcolor white; |
96 |
|
fi; |
97 |
|
|
98 |
|
for xi := 0 upto side: |
99 |
|
draw (x+xi*size, y) -- (x+xi*size,y+side*size); |
100 |
|
endfor; |
101 |
|
for yi := 0 upto side: |
102 |
|
draw (x, y+yi*size) -- (x+side*size, y+yi*size); |
103 |
|
endfor; |
104 |
|
|
105 |
|
enddef; |
106 |
|
|
107 |
|
vardef drawmipmaps(expr x, y, lightlevel) = |
108 |
|
|
109 |
|
drawgrid(x, y, 1, lightlevel=0); |
110 |
|
drawgrid(x, y - 200, 2, lightlevel=1); |
111 |
|
drawgrid(x, y - 500, 4, lightlevel=2); |
112 |
|
|
113 |
|
enddef; |
114 |
|
|
115 |
|
beginfig(2); |
116 |
|
|
117 |
|
drawmipmaps(0,0,0); |
118 |
|
drawmipmaps(500,0,1); |
119 |
|
drawmipmaps(1000,0,2); |
120 |
|
|
121 |
|
|
122 |
|
endfig; |
123 |
|
|
124 |
|
|
125 |
end |
end |