94 |
|
|
95 |
|
#include "ray.h" |
96 |
|
#include "source.h" |
97 |
+ |
#include "bsdf.h" |
98 |
|
#include "ambient.h" |
99 |
|
#include "otypes.h" |
100 |
|
#include "random.h" |
101 |
|
#include "data.h" |
102 |
|
#include "font.h" |
103 |
+ |
#include "pmapray.h" |
104 |
|
|
105 |
|
char *progname = "unknown_app"; /* caller sets to argv[0] */ |
106 |
|
|
142 |
|
int backvis = 1; /* back face visibility */ |
143 |
|
|
144 |
|
int maxdepth = 8; /* maximum recursion depth */ |
145 |
< |
double minweight = 2e-3; /* minimum ray weight */ |
145 |
> |
double minweight = 5e-4; /* minimum ray weight */ |
146 |
|
|
147 |
|
char *ambfile = NULL; /* ambient file name */ |
148 |
|
COLOR ambval = BLKCOLOR; /* ambient value */ |
177 |
|
/* read scene octree */ |
178 |
|
readoct(octname = otnm, ~(IO_FILES|IO_INFO), &thescene, NULL); |
179 |
|
nsceneobjs = nobjects; |
180 |
+ |
/* PMAP: Init & load photon maps */ |
181 |
+ |
ray_init_pmap(); |
182 |
|
/* find and mark sources */ |
183 |
|
marksources(); |
184 |
|
/* initialize ambient calculation */ |
185 |
|
setambient(); |
186 |
< |
/* ready to go... */ |
186 |
> |
/* ready to go... (almost) */ |
187 |
|
} |
188 |
|
|
189 |
|
void |
211 |
|
octdone(); |
212 |
|
thescene.cutree = EMPTY; |
213 |
|
octname = NULL; |
214 |
+ |
retainfonts = 0; |
215 |
|
if (freall) { |
211 |
– |
retainfonts = 0; |
216 |
|
freefont(NULL); |
217 |
|
freedata(NULL); |
218 |
+ |
SDfreeCache(NULL); |
219 |
|
initurand(0); |
220 |
|
} |
221 |
|
if (nobjects > 0) { |
223 |
|
(long)nobjects); |
224 |
|
error(WARNING, errmsg); |
225 |
|
} |
226 |
+ |
|
227 |
+ |
ray_done_pmap(); |
228 |
|
} |
229 |
|
|
230 |
|
|
276 |
|
} |
277 |
|
while (i <= AMBLLEN) |
278 |
|
rp->amblndx[i++] = -1; |
279 |
+ |
|
280 |
+ |
/* PMAP: save photon mapping params */ |
281 |
+ |
ray_save_pmap(rp); |
282 |
|
} |
283 |
|
|
284 |
|
|
347 |
|
ambres = rp->ambres; |
348 |
|
ambacc = rp->ambacc; |
349 |
|
} |
350 |
+ |
|
351 |
+ |
/* PMAP: restore photon mapping params */ |
352 |
+ |
ray_restore_pmap(rp); |
353 |
|
} |
354 |
|
|
355 |
|
|