1 |
# RCSid $Id: Makefile,v 1.14 2019/01/04 18:52:06 greg Exp $ |
2 |
# |
3 |
# Render and primitive type testing |
4 |
# |
5 |
|
6 |
# Image reduction for comparisons |
7 |
RDU_PFILT = pfilt -1 -r 1 -x 128 -y 128 -pa 1 |
8 |
|
9 |
# Image comparison command |
10 |
IMG_CMP = radcompare -rms 0.07 -max 1.5 |
11 |
|
12 |
# Default target is to test everything |
13 |
all: test-xform test-rfluxmtx \ |
14 |
test-mixtex-def test-mixtex-fish test-mixtex-plan test-mixtex-rplan \ |
15 |
test-trans2-def test-trans2-fish test-dielectric-def \ |
16 |
test-dielectric-fish test-glass-def test-glass-fish test-glass-up \ |
17 |
test-tfunc-def test-tfunc-fish test-inst-def test-inst-fish \ |
18 |
test-mesh-def test-mesh-cyl test-mirror-fish test-mist-def \ |
19 |
test-trans-def test-trans-fish test-patterns-def test-patterns-plan \ |
20 |
test-rtrace |
21 |
|
22 |
clean: |
23 |
rm -f *.oct *.amb *_ill.dat blinds_ill?.dat *_*.hdr *.unf \ |
24 |
*.[cg]pm{,.leaf} combined.rad rfmirror.mtx |
25 |
|
26 |
### Special test of xform ### |
27 |
|
28 |
test-xform: combined_scene.rad |
29 |
xform -f combined_scene.rad | grep -v '^[ ]*#' > combined.rad |
30 |
radcompare -max 0.04 ref/combined.rad combined.rad |
31 |
|
32 |
### Special test of rtrace ### |
33 |
|
34 |
test-rtrace: ref/mirror_fish.hdr rtmirror_fish.hdr |
35 |
$(RDU_PFILT) rtmirror_fish.hdr | $(IMG_CMP) -h ref/mirror_fish.hdr - |
36 |
|
37 |
rtmirror_fish.hdr: mirror.oct |
38 |
rad -v 0 mirror.rif OPT=mirror.opt |
39 |
vwrays -ff -vf fish.vf -x 2048 -y 2048 | rtrace -n 2 @mirror.opt \ |
40 |
-ffc -x 2048 -y 2048 mirror.oct | pfilt -1 -e +3 -r .6 -x /2 -y /2 \ |
41 |
> rtmirror_fish.hdr |
42 |
rm -f mirror.opt |
43 |
|
44 |
### Special test for rfluxmtx (and rcontrib) ### |
45 |
|
46 |
test-rfluxmtx: ref/rfmirror.mtx rfmirror.mtx |
47 |
radcompare -max .4 -rms .05 ref/rfmirror.mtx rfmirror.mtx |
48 |
|
49 |
rfmirror.mtx: mirror.rad dummysky.rad basic.mat diorama_walls.rad \ |
50 |
closed_end.rad front_cap.rad glass_pane.rad antimatter_portal.rad |
51 |
rfluxmtx -ab 2 -lw 1e-4 mirror.rad dummysky.rad basic.mat \ |
52 |
diorama_walls.rad closed_end.rad front_cap.rad glass_pane.rad \ |
53 |
antimatter_portal.rad > rfmirror.mtx |
54 |
|
55 |
### Octree for dielectric ### |
56 |
|
57 |
dielectric.oct: dielectric.rif |
58 |
rad -v 0 dielectric.rif |
59 |
|
60 |
### Reference and test for dielectric view def ### |
61 |
|
62 |
test-dielectric-def: ref/dielectric_def.hdr dielectric_def.hdr |
63 |
$(RDU_PFILT) dielectric_def.hdr | $(IMG_CMP) ref/dielectric_def.hdr - |
64 |
|
65 |
ref/dielectric_def.hdr: |
66 |
make dielectric_def.hdr |
67 |
$(RDU_PFILT) dielectric_def.hdr > ref/dielectric_def.hdr |
68 |
|
69 |
dielectric_def.hdr: dielectric.oct |
70 |
rad -v def dielectric.rif |
71 |
|
72 |
### End dielectric-def tests |
73 |
|
74 |
### Reference and test for dielectric view fish ### |
75 |
|
76 |
test-dielectric-fish: ref/dielectric_fish.hdr dielectric_fish.hdr |
77 |
$(RDU_PFILT) dielectric_fish.hdr | $(IMG_CMP) ref/dielectric_fish.hdr - |
78 |
|
79 |
ref/dielectric_fish.hdr: |
80 |
make dielectric_fish.hdr |
81 |
$(RDU_PFILT) dielectric_fish.hdr > ref/dielectric_fish.hdr |
82 |
|
83 |
dielectric_fish.hdr: dielectric.oct |
84 |
rad -v fish dielectric.rif |
85 |
|
86 |
### End dielectric-fish tests |
87 |
|
88 |
### Octree for glass ### |
89 |
|
90 |
glass.oct: glass.rif |
91 |
rad -v 0 glass.rif |
92 |
|
93 |
### Reference and test for glass view def ### |
94 |
|
95 |
test-glass-def: ref/glass_def.hdr glass_def.hdr |
96 |
$(RDU_PFILT) glass_def.hdr | $(IMG_CMP) ref/glass_def.hdr - |
97 |
|
98 |
ref/glass_def.hdr: |
99 |
make glass_def.hdr |
100 |
$(RDU_PFILT) glass_def.hdr > ref/glass_def.hdr |
101 |
|
102 |
glass_def.hdr: glass.oct |
103 |
rad -v def glass.rif |
104 |
|
105 |
### End glass-def tests |
106 |
|
107 |
### Reference and test for glass view fish ### |
108 |
|
109 |
test-glass-fish: ref/glass_fish.hdr glass_fish.hdr |
110 |
$(RDU_PFILT) glass_fish.hdr | $(IMG_CMP) ref/glass_fish.hdr - |
111 |
|
112 |
ref/glass_fish.hdr: |
113 |
make glass_fish.hdr |
114 |
$(RDU_PFILT) glass_fish.hdr > ref/glass_fish.hdr |
115 |
|
116 |
glass_fish.hdr: glass.oct |
117 |
rad -v fish glass.rif |
118 |
|
119 |
### End glass-fish tests |
120 |
|
121 |
### Reference and test for glass view up ### |
122 |
|
123 |
test-glass-up: ref/glass_up.hdr glass_up.hdr |
124 |
$(RDU_PFILT) glass_up.hdr | $(IMG_CMP) ref/glass_up.hdr - |
125 |
|
126 |
ref/glass_up.hdr: |
127 |
make glass_up.hdr |
128 |
$(RDU_PFILT) glass_up.hdr > ref/glass_up.hdr |
129 |
|
130 |
glass_up.hdr: glass.oct |
131 |
rad -v up glass.rif |
132 |
|
133 |
### End glass-up tests |
134 |
|
135 |
### Octree for inst ### |
136 |
|
137 |
inst.oct: inst.rif |
138 |
rad -v 0 inst.rif |
139 |
|
140 |
### Reference and test for inst view def ### |
141 |
|
142 |
test-inst-def: ref/inst_def.hdr inst_def.hdr |
143 |
$(RDU_PFILT) inst_def.hdr | $(IMG_CMP) ref/inst_def.hdr - |
144 |
|
145 |
ref/inst_def.hdr: |
146 |
make inst_def.hdr |
147 |
$(RDU_PFILT) inst_def.hdr > ref/inst_def.hdr |
148 |
|
149 |
inst_def.hdr: inst.oct |
150 |
rad -v def inst.rif |
151 |
|
152 |
### End inst-def tests |
153 |
|
154 |
### Reference and test for inst view fish ### |
155 |
|
156 |
test-inst-fish: ref/inst_fish.hdr inst_fish.hdr |
157 |
$(RDU_PFILT) inst_fish.hdr | $(IMG_CMP) ref/inst_fish.hdr - |
158 |
|
159 |
ref/inst_fish.hdr: |
160 |
make inst_fish.hdr |
161 |
$(RDU_PFILT) inst_fish.hdr > ref/inst_fish.hdr |
162 |
|
163 |
inst_fish.hdr: inst.oct |
164 |
rad -v fish inst.rif |
165 |
|
166 |
### End inst-fish tests |
167 |
|
168 |
### Octree for mesh ### |
169 |
|
170 |
mesh.oct: mesh.rif |
171 |
rad -v 0 mesh.rif |
172 |
|
173 |
### Reference and test for mesh view def ### |
174 |
|
175 |
test-mesh-def: ref/mesh_def.hdr mesh_def.hdr |
176 |
$(RDU_PFILT) mesh_def.hdr | $(IMG_CMP) ref/mesh_def.hdr - |
177 |
|
178 |
ref/mesh_def.hdr: |
179 |
make mesh_def.hdr |
180 |
$(RDU_PFILT) mesh_def.hdr > ref/mesh_def.hdr |
181 |
|
182 |
mesh_def.hdr: mesh.oct |
183 |
rad -v def mesh.rif |
184 |
|
185 |
### End mesh-def tests |
186 |
|
187 |
### Reference and test for mesh view cyl ### |
188 |
|
189 |
test-mesh-cyl: ref/mesh_cyl.hdr mesh_cyl.hdr |
190 |
$(RDU_PFILT) mesh_cyl.hdr | $(IMG_CMP) ref/mesh_cyl.hdr - |
191 |
|
192 |
ref/mesh_cyl.hdr: |
193 |
make mesh_cyl.hdr |
194 |
$(RDU_PFILT) mesh_cyl.hdr > ref/mesh_cyl.hdr |
195 |
|
196 |
mesh_cyl.hdr: mesh.oct |
197 |
rad -v cyl mesh.rif |
198 |
|
199 |
### End mesh-cyl tests |
200 |
|
201 |
### Reference and test for mesh view cyl2 ### |
202 |
|
203 |
test-mesh-cyl2: ref/mesh_cyl2.hdr mesh_cyl2.hdr |
204 |
$(RDU_PFILT) mesh_cyl2.hdr | $(IMG_CMP) ref/mesh_cyl2.hdr - |
205 |
|
206 |
ref/mesh_cyl2.hdr: |
207 |
make mesh_cyl2.hdr |
208 |
$(RDU_PFILT) mesh_cyl2.hdr > ref/mesh_cyl2.hdr |
209 |
|
210 |
mesh_cyl2.hdr: mesh.oct |
211 |
rad -v cyl2 mesh.rif |
212 |
|
213 |
### End mesh-cyl2 tests |
214 |
|
215 |
### Octree for mirror ### |
216 |
|
217 |
mirror.oct: mirror.rif |
218 |
rad -v 0 mirror.rif |
219 |
|
220 |
### Reference and test for mirror view fish ### |
221 |
|
222 |
test-mirror-fish: ref/mirror_fish.hdr mirror_fish.hdr |
223 |
$(RDU_PFILT) mirror_fish.hdr | $(IMG_CMP) ref/mirror_fish.hdr - |
224 |
|
225 |
ref/mirror_fish.hdr: |
226 |
make mirror_fish.hdr |
227 |
$(RDU_PFILT) mirror_fish.hdr > ref/mirror_fish.hdr |
228 |
|
229 |
mirror_fish.hdr: mirror.oct |
230 |
rad -v fish mirror.rif |
231 |
|
232 |
### End mirror-fish tests |
233 |
|
234 |
### Octree for mist ### |
235 |
|
236 |
mist.oct: mist.rif |
237 |
rad -v 0 mist.rif |
238 |
|
239 |
### Reference and test for mist view def ### |
240 |
|
241 |
test-mist-def: ref/mist_def.hdr mist_def.hdr |
242 |
$(RDU_PFILT) mist_def.hdr | $(IMG_CMP) ref/mist_def.hdr - |
243 |
|
244 |
ref/mist_def.hdr: |
245 |
make mist_def.hdr |
246 |
$(RDU_PFILT) mist_def.hdr > ref/mist_def.hdr |
247 |
|
248 |
mist_def.hdr: mist.oct |
249 |
rad -v def mist.rif |
250 |
|
251 |
### End mist-def tests |
252 |
|
253 |
### Octree for prism1 ### |
254 |
|
255 |
prism1.oct: prism1.rif |
256 |
rad -v 0 prism1.rif |
257 |
|
258 |
### Reference and test for prism1 view fish ### |
259 |
|
260 |
test-prism1-fish: ref/prism1_fish.hdr prism1_fish.hdr |
261 |
$(RDU_PFILT) prism1_fish.hdr | $(IMG_CMP) ref/prism1_fish.hdr - |
262 |
|
263 |
ref/prism1_fish.hdr: |
264 |
make prism1_fish.hdr |
265 |
$(RDU_PFILT) prism1_fish.hdr > ref/prism1_fish.hdr |
266 |
|
267 |
prism1_fish.hdr: prism1.oct |
268 |
rad -v fish prism1.rif |
269 |
|
270 |
### End prism1-fish tests |
271 |
|
272 |
### Octree for prism2 ### |
273 |
|
274 |
prism2.oct: prism2.rif |
275 |
rad -v 0 prism2.rif |
276 |
|
277 |
### Reference and test for prism2 view fish ### |
278 |
|
279 |
test-prism2-fish: ref/prism2_fish.hdr prism2_fish.hdr |
280 |
$(RDU_PFILT) prism2_fish.hdr | $(IMG_CMP) ref/prism2_fish.hdr - |
281 |
|
282 |
ref/prism2_fish.hdr: |
283 |
make prism2_fish.hdr |
284 |
$(RDU_PFILT) prism2_fish.hdr > ref/prism2_fish.hdr |
285 |
|
286 |
prism2_fish.hdr: prism2.oct |
287 |
rad -v fish prism2.rif |
288 |
|
289 |
### End prism2-fish tests |
290 |
|
291 |
### Octree for tfunc ### |
292 |
|
293 |
tfunc.oct: tfunc.rif |
294 |
rad -v 0 tfunc.rif |
295 |
|
296 |
### Reference and test for tfunc view def ### |
297 |
|
298 |
test-tfunc-def: ref/tfunc_def.hdr tfunc_def.hdr |
299 |
$(RDU_PFILT) tfunc_def.hdr | $(IMG_CMP) ref/tfunc_def.hdr - |
300 |
|
301 |
ref/tfunc_def.hdr: |
302 |
make tfunc_def.hdr |
303 |
$(RDU_PFILT) tfunc_def.hdr > ref/tfunc_def.hdr |
304 |
|
305 |
tfunc_def.hdr: tfunc.oct |
306 |
rad -v def tfunc.rif |
307 |
|
308 |
### End tfunc-def tests |
309 |
|
310 |
### Reference and test for tfunc view fish ### |
311 |
|
312 |
test-tfunc-fish: ref/tfunc_fish.hdr tfunc_fish.hdr |
313 |
$(RDU_PFILT) tfunc_fish.hdr | $(IMG_CMP) ref/tfunc_fish.hdr - |
314 |
|
315 |
ref/tfunc_fish.hdr: |
316 |
make tfunc_fish.hdr |
317 |
$(RDU_PFILT) tfunc_fish.hdr > ref/tfunc_fish.hdr |
318 |
|
319 |
tfunc_fish.hdr: tfunc.oct |
320 |
rad -v fish tfunc.rif |
321 |
|
322 |
### End tfunc-fish tests |
323 |
|
324 |
### Octree for trans ### |
325 |
|
326 |
trans.oct: trans.rif |
327 |
rad -v 0 trans.rif |
328 |
|
329 |
### Reference and test for trans view def ### |
330 |
|
331 |
test-trans-def: ref/trans_def.hdr trans_def.hdr |
332 |
$(RDU_PFILT) trans_def.hdr | $(IMG_CMP) ref/trans_def.hdr - |
333 |
|
334 |
ref/trans_def.hdr: |
335 |
make trans_def.hdr |
336 |
$(RDU_PFILT) trans_def.hdr > ref/trans_def.hdr |
337 |
|
338 |
trans_def.hdr: trans.oct |
339 |
rad -v def trans.rif |
340 |
|
341 |
### End trans-def tests |
342 |
|
343 |
### Reference and test for trans view fish ### |
344 |
|
345 |
test-trans-fish: ref/trans_fish.hdr trans_fish.hdr |
346 |
$(RDU_PFILT) trans_fish.hdr | $(IMG_CMP) ref/trans_fish.hdr - |
347 |
|
348 |
ref/trans_fish.hdr: |
349 |
make trans_fish.hdr |
350 |
$(RDU_PFILT) trans_fish.hdr > ref/trans_fish.hdr |
351 |
|
352 |
trans_fish.hdr: trans.oct |
353 |
rad -v fish trans.rif |
354 |
|
355 |
### End trans-fish tests |
356 |
|
357 |
### Octree for trans2 ### |
358 |
|
359 |
trans2.oct: trans2.rif |
360 |
rad -v 0 trans2.rif |
361 |
|
362 |
### Reference and test for trans2 view def ### |
363 |
|
364 |
test-trans2-def: ref/trans2_def.hdr trans2_def.hdr |
365 |
$(RDU_PFILT) trans2_def.hdr | $(IMG_CMP) ref/trans2_def.hdr - |
366 |
|
367 |
ref/trans2_def.hdr: |
368 |
make trans2_def.hdr |
369 |
$(RDU_PFILT) trans2_def.hdr > ref/trans2_def.hdr |
370 |
|
371 |
trans2_def.hdr: trans2.oct |
372 |
rad -v def trans2.rif |
373 |
|
374 |
### End trans2-def tests |
375 |
|
376 |
### Reference and test for trans2 view fish ### |
377 |
|
378 |
test-trans2-fish: ref/trans2_fish.hdr trans2_fish.hdr |
379 |
$(RDU_PFILT) trans2_fish.hdr | $(IMG_CMP) ref/trans2_fish.hdr - |
380 |
|
381 |
ref/trans2_fish.hdr: |
382 |
make trans2_fish.hdr |
383 |
$(RDU_PFILT) trans2_fish.hdr > ref/trans2_fish.hdr |
384 |
|
385 |
trans2_fish.hdr: trans2.oct |
386 |
rad -v fish trans2.rif |
387 |
|
388 |
### End trans2-fish tests |
389 |
|
390 |
### Reference and test for trans2 view win ### |
391 |
|
392 |
test-trans2-win: ref/trans2_win.hdr trans2_win.hdr |
393 |
$(RDU_PFILT) trans2_win.hdr | $(IMG_CMP) ref/trans2_win.hdr - |
394 |
|
395 |
ref/trans2_win.hdr: |
396 |
make trans2_win.hdr |
397 |
$(RDU_PFILT) trans2_win.hdr > ref/trans2_win.hdr |
398 |
|
399 |
trans2_win.hdr: trans2.oct |
400 |
rad -v win trans2.rif |
401 |
|
402 |
### End trans2-win tests |
403 |
|
404 |
### Octree for patterns ### |
405 |
|
406 |
patterns.oct: patterns.rif |
407 |
rad -v 0 patterns.rif |
408 |
|
409 |
### Reference and test for patterns view def ### |
410 |
|
411 |
test-patterns-def: ref/patterns_def.hdr patterns_def.hdr |
412 |
$(RDU_PFILT) patterns_def.hdr | $(IMG_CMP) ref/patterns_def.hdr - |
413 |
|
414 |
ref/patterns_def.hdr: |
415 |
make patterns_def.hdr |
416 |
$(RDU_PFILT) patterns_def.hdr > ref/patterns_def.hdr |
417 |
|
418 |
patterns_def.hdr: patterns.oct |
419 |
rad -v def patterns.rif |
420 |
|
421 |
### End patterns-def tests |
422 |
|
423 |
### Reference and test for patterns view plan ### |
424 |
|
425 |
test-patterns-plan: ref/patterns_plan.hdr patterns_plan.hdr |
426 |
$(RDU_PFILT) patterns_plan.hdr | $(IMG_CMP) ref/patterns_plan.hdr - |
427 |
|
428 |
ref/patterns_plan.hdr: |
429 |
make patterns_plan.hdr |
430 |
$(RDU_PFILT) patterns_plan.hdr > ref/patterns_plan.hdr |
431 |
|
432 |
patterns_plan.hdr: patterns.oct |
433 |
rad -v plan patterns.rif |
434 |
|
435 |
### End patterns-plan tests |
436 |
|
437 |
### Octree for mixtex ### |
438 |
|
439 |
mixtex.oct: mixtex.rif |
440 |
rad -v 0 mixtex.rif |
441 |
|
442 |
### Reference and test for mixtex view def ### |
443 |
|
444 |
test-mixtex-def: ref/mixtex_def.hdr mixtex_def.hdr |
445 |
$(RDU_PFILT) mixtex_def.hdr | $(IMG_CMP) ref/mixtex_def.hdr - |
446 |
|
447 |
ref/mixtex_def.hdr: |
448 |
make mixtex_def.hdr |
449 |
$(RDU_PFILT) mixtex_def.hdr > ref/mixtex_def.hdr |
450 |
|
451 |
mixtex_def.hdr: mixtex.oct |
452 |
rad -v def mixtex.rif |
453 |
|
454 |
### End mixtex-def tests |
455 |
|
456 |
### Reference and test for mixtex view fish ### |
457 |
|
458 |
test-mixtex-fish: ref/mixtex_fish.hdr mixtex_fish.hdr |
459 |
$(RDU_PFILT) mixtex_fish.hdr | $(IMG_CMP) ref/mixtex_fish.hdr - |
460 |
|
461 |
ref/mixtex_fish.hdr: |
462 |
make mixtex_fish.hdr |
463 |
$(RDU_PFILT) mixtex_fish.hdr > ref/mixtex_fish.hdr |
464 |
|
465 |
mixtex_fish.hdr: mixtex.oct |
466 |
rad -v fish mixtex.rif |
467 |
|
468 |
### End mixtex-fish tests |
469 |
|
470 |
### Reference and test for mixtex view plan ### |
471 |
|
472 |
test-mixtex-plan: ref/mixtex_plan.hdr mixtex_plan.hdr |
473 |
$(RDU_PFILT) mixtex_plan.hdr | $(IMG_CMP) ref/mixtex_plan.hdr - |
474 |
|
475 |
ref/mixtex_plan.hdr: |
476 |
make mixtex_plan.hdr |
477 |
$(RDU_PFILT) mixtex_plan.hdr > ref/mixtex_plan.hdr |
478 |
|
479 |
mixtex_plan.hdr: mixtex.oct |
480 |
rad -v plan mixtex.rif |
481 |
|
482 |
### End mixtex-plan tests |
483 |
|
484 |
### Reference and test for mixtex view rplan ### |
485 |
|
486 |
test-mixtex-rplan: ref/mixtex_rplan.hdr mixtex_rplan.hdr |
487 |
$(RDU_PFILT) mixtex_rplan.hdr | $(IMG_CMP) ref/mixtex_rplan.hdr - |
488 |
|
489 |
ref/mixtex_rplan.hdr: |
490 |
make mixtex_rplan.hdr |
491 |
$(RDU_PFILT) mixtex_rplan.hdr > ref/mixtex_rplan.hdr |
492 |
|
493 |
mixtex_rplan.hdr: mixtex.oct |
494 |
rad -v rplan mixtex.rif |
495 |
|
496 |
### End mixtex-rplan tests |