--- ray/test/renders/Makefile 2019/01/08 00:21:52 1.18 +++ ray/test/renders/Makefile 2023/12/15 16:31:32 1.38 @@ -1,71 +1,98 @@ -# RCSid $Id: Makefile,v 1.18 2019/01/08 00:21:52 greg Exp $ +# RCSid $Id: Makefile,v 1.38 2023/12/15 16:31:32 greg Exp $ # # Render and primitive type testing # # Number of processes to use on tests that run multi-core -NPROC = 2 +ifeq ($(OS),Windows_NT) # is Windows + NPROC := 1 +else + NPROC := 2 +endif # Image reduction for comparisons RDU_PFILT = pfilt -1 -r 1 -x 128 -y 128 -pa 1 # Image comparison command -IMG_CMP = radcompare -rms 0.07 -max 1.5 +IMG_CMP = radcompare -rel 0.007 -rms 0.1 -max 1.5 # Default target is to test everything all: test-xform test-oconv test-rad test-rfluxmtx test-rpiece \ test-rpict test-mkpmap \ +test-trans2-def test-trans2-fish test-trans2-win \ test-mixtex-def test-mixtex-fish test-mixtex-plan test-mixtex-rplan \ -test-trans2-def test-trans2-fish test-dielectric-def \ -test-dielectric-fish test-glass-def test-glass-fish test-glass-up \ test-tfunc-def test-tfunc-fish test-inst-def test-inst-fish \ -test-mesh-def test-mesh-cyl test-mirror-fish test-mist-def \ -test-trans-def test-trans-fish test-patterns-def test-patterns-plan \ -test-rtrace +test-mesh-def test-mesh-cyl test-mesh-cyl2 test-mist-def \ +test-dielectric-def test-dielectric-fish test-trans-def \ +test-glass-def test-glass-fish test-glass-up \ +test-trans-fish test-patterns-def test-patterns-plan \ +test-rtrace test-mirror-fish test-obj2mesh \ +test-prism1-fish test-prism2-fish test-spectra-fish clean: rm -f *.oct *.amb *_ill.dat blinds_ill?.dat *_*.hdr *.unf \ *.[cg]pm{,.leaf} inst_rad.txt combined.rad rfmirror.mtx +###### +# More-or-less evenly divided batches for NPROC=1 (redundancies removed) + +batch1: test-mixtex-def test-mixtex-fish test-mixtex-plan test-mixtex-rplan \ +test-xform test-oconv test-rad test-obj2mesh + +batch2: test-rfluxmtx test-mist-def test-glass-def test-glass-fish test-glass-up \ +test-spectra-fish + +batch3: test-inst-def test-inst-fish test-trans2-def test-trans2-fish test-trans2-win \ +test-dielectric-def test-dielectric-fish + +batch4: test-rtrace test-prism1-fish test-prism2-fish test-mirror-fish \ +test-mesh-def test-mesh-cyl test-mesh-cyl2 test-tfunc-def test-tfunc-fish \ +test-trans-def test-trans-fish test-patterns-def test-patterns-plan + ### Test Aliases ### -test-rpict: test-mirror-def +test-rpict: test-mirror-fish test-rpiece test-mkpmap: test-mixtex-def ### Special test of xform ### -test-xform: combined_scene.rad - xform -f combined_scene.rad | grep -v '^[ ]*#' > combined.rad - radcompare -max 0.04 ref/combined.rad combined.rad +test-xform: combined.rad + radcompare "-c#" -max 0.04 ref/combined.rad combined.rad +combined.rad: combined_scene.rad + xform -f combined_scene.rad > combined.rad + ### Special test of rad ### -test-rad: inst.rif +test-rad: inst.oct rad -n -s -e inst.rif > inst_rad.txt radcompare ref/inst_rad.txt inst_rad.txt -### Special test of oconv ### +### Special tests of oconv and obj2mesh ### test-oconv: inst.oct radcompare ref/inst.oct inst.oct +test-obj2mesh: cab.obj + obj2mesh -w cab.obj | radcompare ref/cab.rtm - + ### Special test of rtrace ### -test-rtrace: ref/mirror_fish.hdr rtmirror_fish.hdr +test-rtrace: ref/mirror_fish.hdr rtmirror_fish.hdr $(RDU_PFILT) rtmirror_fish.hdr | $(IMG_CMP) -h ref/mirror_fish.hdr - rtmirror_fish.hdr: mirror.oct rad -v 0 mirror.rif OPT=mirror.opt - vwrays -ff -vf fish.vf -x 2048 -y 2048 | rtrace -n $(NPROC) @mirror.opt \ --ffc -x 2048 -y 2048 mirror.oct | pfilt -1 -e +3 -r .6 -x /2 -y /2 \ + vwrays -ff -vf fish.vf -x 2048 -y 1991 | rtrace -n $(NPROC) @mirror.opt \ +-ffc -x 2048 -y 1991 mirror.oct | pfilt -1 -e +3 -r .6 -x /2 -y /2 \ > rtmirror_fish.hdr rm -f mirror.opt ### Special test for rfluxmtx (and rcontrib) ### test-rfluxmtx: ref/rfmirror.mtx rfmirror.mtx - radcompare -max .4 -rms .05 ref/rfmirror.mtx rfmirror.mtx + radcompare -max .4 -rms .05 -rel 1e-4 ref/rfmirror.mtx rfmirror.mtx rfmirror.mtx: mirror.rad dummysky.rad basic.mat diorama_walls.rad \ closed_end.rad front_cap.rad glass_pane.rad antimatter_portal.rad @@ -306,7 +333,7 @@ prism2_fish.hdr: prism2.oct ### Octree for tfunc ### -tfunc.oct: tfunc.rif +tfunc1.oct: tfunc.rif rad -v 0 tfunc.rif ### Reference and test for tfunc view def ### @@ -318,7 +345,7 @@ ref/tfunc_def.hdr: make tfunc_def.hdr $(RDU_PFILT) tfunc_def.hdr > ref/tfunc_def.hdr -tfunc_def.hdr: tfunc.oct +tfunc_def.hdr: tfunc1.oct rad -v def tfunc.rif ### End tfunc-def tests @@ -332,7 +359,7 @@ ref/tfunc_fish.hdr: make tfunc_fish.hdr $(RDU_PFILT) tfunc_fish.hdr > ref/tfunc_fish.hdr -tfunc_fish.hdr: tfunc.oct +tfunc_fish.hdr: tfunc1.oct rad -v fish tfunc.rif ### End tfunc-fish tests @@ -372,7 +399,7 @@ trans_fish.hdr: trans.oct ### Octree for trans2 ### -trans2.oct: trans2.rif +trans21.oct: trans2.rif rad -v 0 trans2.rif ### Reference and test for trans2 view def ### @@ -384,7 +411,7 @@ ref/trans2_def.hdr: make trans2_def.hdr $(RDU_PFILT) trans2_def.hdr > ref/trans2_def.hdr -trans2_def.hdr: trans2.oct +trans2_def.hdr: trans21.oct rad -v def trans2.rif ### End trans2-def tests @@ -398,7 +425,7 @@ ref/trans2_fish.hdr: make trans2_fish.hdr $(RDU_PFILT) trans2_fish.hdr > ref/trans2_fish.hdr -trans2_fish.hdr: trans2.oct +trans2_fish.hdr: trans21.oct rad -v fish trans2.rif ### End trans2-fish tests @@ -412,7 +439,7 @@ ref/trans2_win.hdr: make trans2_win.hdr $(RDU_PFILT) trans2_win.hdr > ref/trans2_win.hdr -trans2_win.hdr: trans2.oct +trans2_win.hdr: trans21.oct rad -v win trans2.rif ### End trans2-win tests @@ -510,3 +537,22 @@ mixtex_rplan.hdr: mixtex.oct rad -v rplan mixtex.rif ### End mixtex-rplan tests + +### Octree for spectra + +spectra.oct: spectra.rif + rad -v 0 spectra.rif + +### Reference and test for spectra fish ### + +test-spectra-fish: ref/spectra_fish.hdr spectra_fish.hdr + $(RDU_PFILT) spectra_fish.hdr | $(IMG_CMP) ref/spectra_fish.hdr - + +ref/spectra_fish.hdr: + make spectra_fish.hdr + $(RDU_PFILT) spectra_fish.hdr > ref/spectra_fish.hdr + +spectra_fish.hdr: spectra.oct + rad -v fish spectra.rif + +### End spectra-fish tests