--- ray/src/rt/pmapray.c 2015/08/18 18:45:55 2.4 +++ ray/src/rt/pmapray.c 2024/03/23 16:40:52 2.9 @@ -1,6 +1,7 @@ #ifndef lint -static const char RCSid[] = "$Id: pmapray.c,v 2.4 2015/08/18 18:45:55 greg Exp $"; +static const char RCSid[] = "$Id: pmapray.c,v 2.9 2024/03/23 16:40:52 greg Exp $"; #endif + /* ================================================================== Photon map interface to RADIANCE raycalls @@ -11,10 +12,11 @@ static const char RCSid[] = "$Id: pmapray.c,v 2.4 2015 supported by the Swiss National Science Foundation (SNSF, #147053) ================================================================== - $Id: pmapray.c,v 2.4 2015/08/18 18:45:55 greg Exp $ + $Id: pmapray.c,v 2.9 2024/03/23 16:40:52 greg Exp $ */ +#include "ray.h" #include "pmapray.h" #include "pmap.h" @@ -23,6 +25,9 @@ void ray_init_pmap () /* Interface to ray_init(); init & load photon maps */ { loadPmaps(photonMaps, pmapParams); + + if (NCSAMP > 3 && photonMapping) + error(USER, "hyperspectral photon-mapping currently unsupported"); } @@ -46,6 +51,7 @@ void ray_save_pmap (RAYPARAMS *rp) rp -> pmapParams [t].minGather = pmapParams [t].minGather; rp -> pmapParams [t].maxGather = pmapParams [t].maxGather; + rp -> pmapParams [t].distribTarget = pmapParams [t].distribTarget; } } @@ -59,5 +65,19 @@ void ray_restore_pmap (RAYPARAMS *rp) pmapParams [t].fileName = rp -> pmapParams [t].fileName; pmapParams [t].minGather = rp -> pmapParams [t].minGather; pmapParams [t].maxGather = rp -> pmapParams [t].maxGather; + pmapParams [t].distribTarget = rp -> pmapParams [t].distribTarget; + } +} + +void ray_defaults_pmap (RAYPARAMS *rp) +/* Interface to ray_defaults(); set photon mapping defaults */ +{ + unsigned t; + + for (t = 0; t < NUM_PMAP_TYPES; t++) { + rp -> pmapParams [t].fileName = NULL; + rp -> pmapParams [t].minGather = 0; + rp -> pmapParams [t].maxGather = 0; + rp -> pmapParams [t].distribTarget = 0; } }