--- ray/src/rt/pmapray.c 2015/05/08 13:20:23 2.2 +++ ray/src/rt/pmapray.c 2016/11/02 22:09:14 2.7 @@ -1,3 +1,7 @@ +#ifndef lint +static const char RCSid[] = "$Id: pmapray.c,v 2.7 2016/11/02 22:09:14 greg Exp $"; +#endif + /* ================================================================== Photon map interface to RADIANCE raycalls @@ -8,7 +12,7 @@ supported by the Swiss National Science Foundation (SNSF, #147053) ================================================================== - $Id: pmapray.c,v 2.2 2015/05/08 13:20:23 rschregle Exp $ + $Id: pmapray.c,v 2.7 2016/11/02 22:09:14 greg Exp $ */ @@ -36,15 +40,14 @@ void ray_save_pmap (RAYPARAMS *rp) unsigned t; for (t = 0; t < NUM_PMAP_TYPES; t++) { - if (pmapParams [t].fileName) { - rp -> pmapParams [t].fileName = - (char*)malloc(strlen(pmapParams [t].fileName)); - strcpy(rp -> pmapParams [t].fileName, pmapParams [t].fileName); - } + if (pmapParams [t].fileName) + rp -> pmapParams [t].fileName = savqstr(pmapParams [t].fileName); + else rp -> pmapParams [t].fileName = NULL; rp -> pmapParams [t].minGather = pmapParams [t].minGather; rp -> pmapParams [t].maxGather = pmapParams [t].maxGather; + rp -> pmapParams [t].distribTarget = pmapParams [t].distribTarget; } } @@ -58,5 +61,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; } }