| 1 | /* RCSid $Id: pmapbias.h,v 2.5 2016/05/17 17:39:47 rschregle Exp $ */ | 
| 2 |  | 
| 3 | /* | 
| 4 | ================================================================== | 
| 5 | Bias compensation for photon density estimates | 
| 6 |  | 
| 7 | For background see: | 
| 8 | R. Schregle, "Bias Compensation for Photon Maps", | 
| 9 | Computer Graphics Forum, v22:n4, pp. 729-742, Dec. 2003. | 
| 10 |  | 
| 11 | Roland Schregle ([email protected]) | 
| 12 | (c) Fraunhofer Institute for Solar Energy Systems | 
| 13 | ================================================================== | 
| 14 |  | 
| 15 | $Id: pmapbias.h,v 2.5 2016/05/17 17:39:47 rschregle Exp $ | 
| 16 | */ | 
| 17 |  | 
| 18 |  | 
| 19 | #ifndef PMAPBIASCOMP_H | 
| 20 | #define PMAPBIASCOMP_H | 
| 21 |  | 
| 22 | #include "pmapdata.h" | 
| 23 |  | 
| 24 | #ifdef __cplusplus | 
| 25 | extern "C" { | 
| 26 | #endif | 
| 27 |  | 
| 28 | /* Bias compensation weighting function */ | 
| 29 | /* #define BIASCOMP_WGT(n) 1 */ | 
| 30 | /* #define BIASCOMP_WGT(n) (n) */ | 
| 31 | #define BIASCOMP_WGT(n) ((n) * (n)) | 
| 32 | /* #define BIASCOMP_WGT(n) ((n) * (n) * (n)) */ | 
| 33 | /* #define BIASCOMP_WGT(n) exp(0.003 * (n)) */ | 
| 34 |  | 
| 35 | /* Dump photon bandwidth for bias compensated density estimates */ | 
| 36 | /* #define BIASCOMP_BWIDTH */ | 
| 37 |  | 
| 38 | void biasComp (PhotonMap*, COLOR); | 
| 39 | /* Photon density estimate with bias compensation, returning irradiance. | 
| 40 | Expects photons in search queue after a kd-tree lookup. */ | 
| 41 |  | 
| 42 | void volumeBiasComp (PhotonMap*, const RAY*, COLOR); | 
| 43 | /* Photon volume density estimate with bias compensation, returning | 
| 44 | irradiance. Expects photons in search queue after a kd-tree lookup. */ | 
| 45 |  | 
| 46 | #ifdef __cplusplus | 
| 47 | } | 
| 48 | #endif | 
| 49 |  | 
| 50 | #endif |