--- ray/src/rt/pmapparm.h 2016/05/17 17:39:47 2.7 +++ ray/src/rt/pmapparm.h 2021/04/14 11:26:25 2.10 @@ -1,4 +1,4 @@ -/* RCSid $Id: pmapparm.h,v 2.7 2016/05/17 17:39:47 rschregle Exp $ */ +/* RCSid $Id: pmapparm.h,v 2.10 2021/04/14 11:26:25 rschregle Exp $ */ /* ====================================================================== @@ -7,11 +7,14 @@ Roland Schregle (roland.schregle@{hslu.ch, gmail.com} (c) Fraunhofer Institute for Solar Energy Systems, + supported by the German Research Foundation + (DFG LU-204/10-2, "Fassadenintegrierte Regelsysteme" (FARESYS)) (c) Lucerne University of Applied Sciences and Arts, - supported by the Swiss National Science Foundation (SNSF, #147053) + supported by the Swiss National Science Foundation + (SNSF #147053, "Daylight Redirecting Components") ====================================================================== - $Id: pmapparm.h,v 2.7 2016/05/17 17:39:47 rschregle Exp $ + $Id: pmapparm.h,v 2.10 2021/04/14 11:26:25 rschregle Exp $ */ @@ -27,6 +30,15 @@ unsigned minGather, maxGather; /* Num photons to gather */ unsigned long distribTarget; /* Num photons to store */ } PhotonMapParams; + + /* Region of interest */ + typedef struct { + /* siz [1], siz [2] <= 0 --> sphere, else rectangle */ + float pos [3], siz [3]; + } PhotonMapROI; + + #define PMAP_ROI_ISSPHERE(roi) ((roi)->siz[1] <= 0 && (roi)->siz[2] <= 0) + #define PMAP_ROI_SETSPHERE(roi) ((roi)->siz[1] = (roi)->siz[2] = -1) extern PhotonMapParams pmapParams [NUM_PMAP_TYPES]; @@ -41,13 +53,14 @@ extern float pdfSamples, preDistrib, finalGather, - gatherTolerance, maxDistFix; + gatherTolerance, maxDistFix, pmapMaxDist, + photonMaxDist; extern unsigned long photonHeapSizeInc, photonMaxBounce; - extern unsigned photonRepTime, maxPreDistrib, defaultGather; - -#ifdef PMAP_ROI - extern float pmapROI [6]; -#endif + extern unsigned photonRepTime, maxPreDistrib, defaultGather, + verbose; + + extern unsigned pmapNumROI; + extern PhotonMapROI *pmapROI; #ifdef PMAP_OOC extern float pmapCachePageSize;