1 |
/* RCSid $Id: pmapcontrib.h,v 2.5 2016/05/17 17:39:47 rschregle Exp $ */ |
2 |
|
3 |
/* |
4 |
================================================================== |
5 |
Photon map support for light source contributions |
6 |
|
7 |
Roland Schregle (roland.schregle@{hslu.ch, gmail.com}) |
8 |
(c) Lucerne University of Applied Sciences and Arts, |
9 |
supported by the Swiss National Science Foundation (SNSF, #147053) |
10 |
================================================================== |
11 |
|
12 |
$Id: pmapcontrib.h,v 2.5 2016/05/17 17:39:47 rschregle Exp $ |
13 |
*/ |
14 |
|
15 |
#ifndef PMAPCONTRIB_H |
16 |
#define PMAPCONTRIB_H |
17 |
|
18 |
#include "pmapdata.h" |
19 |
|
20 |
#ifdef __cplusplus |
21 |
extern "C" { |
22 |
#endif |
23 |
|
24 |
void initPmapContrib (LUTAB *srcContrib, unsigned numSrcContrib); |
25 |
/* Set up photon map contributions (interface to rcmain.c) */ |
26 |
|
27 |
void distribPhotonContrib (PhotonMap *pmap, unsigned numProc); |
28 |
/* Emit photons from light sources with tagged contributions, and |
29 |
* build photon map */ |
30 |
|
31 |
void photonContrib (PhotonMap *pmap, RAY *ray, COLOR irrad); |
32 |
/* Accumulate light source contributions in pmap -> srcMods from |
33 |
* photons, and return cumulative irradiance from density esimate */ |
34 |
|
35 |
#ifdef __cplusplus |
36 |
} |
37 |
#endif |
38 |
|
39 |
#endif |