ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/pmapparm.h
Revision: 2.7
Committed: Tue May 17 17:39:47 2016 UTC (8 years, 1 month ago) by rschregle
Content type: text/plain
Branch: MAIN
Changes since 2.6: +20 -11 lines
Log Message:
Initial import of ooC photon map

File Contents

# Content
1 /* RCSid $Id: pmapparm.h,v 1.9 2016/02/12 12:51:59 taschreg Exp taschreg $ */
2
3 /*
4 ======================================================================
5 Parameters for photon map generation and rendering; used by mkpmap
6 and rpict/rvu/rtrace.
7
8 Roland Schregle (roland.schregle@{hslu.ch, gmail.com}
9 (c) Fraunhofer Institute for Solar Energy Systems,
10 (c) Lucerne University of Applied Sciences and Arts,
11 supported by the Swiss National Science Foundation (SNSF, #147053)
12 ======================================================================
13
14 $Id: pmapparm.h,v 1.9 2016/02/12 12:51:59 taschreg Exp taschreg $
15 */
16
17
18 #ifndef PMAPPARAMS_H
19 #define PMAPPARAMS_H
20
21 #include "pmaptype.h"
22
23
24 /* Struct for passing params per photon map from rpict/rtrace/rvu */
25 typedef struct {
26 char *fileName; /* Photon map file */
27 unsigned minGather, maxGather; /* Num photons to gather */
28 unsigned long distribTarget; /* Num photons to store */
29 } PhotonMapParams;
30
31
32 extern PhotonMapParams pmapParams [NUM_PMAP_TYPES];
33
34 /* Macros for type specific photon map parameters */
35 #define globalPmapParams (pmapParams [PMAP_TYPE_GLOBAL])
36 #define preCompPmapParams (pmapParams [PMAP_TYPE_PRECOMP])
37 #define causticPmapParams (pmapParams [PMAP_TYPE_CAUSTIC])
38 #define volumePmapParams (pmapParams [PMAP_TYPE_VOLUME])
39 #define directPmapParams (pmapParams [PMAP_TYPE_DIRECT])
40 #define contribPmapParams (pmapParams [PMAP_TYPE_CONTRIB])
41
42
43 extern float pdfSamples, preDistrib, finalGather,
44 gatherTolerance, maxDistFix;
45 extern unsigned long photonHeapSizeInc, photonMaxBounce;
46 extern unsigned photonRepTime, maxPreDistrib, defaultGather;
47
48 #ifdef PMAP_ROI
49 extern float pmapROI [6];
50 #endif
51
52 #ifdef PMAP_OOC
53 extern float pmapCachePageSize;
54 extern unsigned long pmapCacheSize;
55 #endif
56
57
58 struct PhotonMap;
59
60 int setPmapParam (struct PhotonMap **pm, const PhotonMapParams *parm);
61 /* Allocate photon map and set its parameters from parm */
62
63 unsigned long parseMultiplier (const char *num);
64 /* Evaluate numeric parameter string with optional multiplier suffix
65 (G = 10^9, M = 10^6, K = 10^3). Returns 0 if parsing fails. */
66 #endif