21 |
|
* irradiance values are desired. |
22 |
|
*/ |
23 |
|
|
24 |
+ |
#include <time.h> |
25 |
+ |
|
26 |
|
#include "platform.h" |
27 |
|
#include "ray.h" |
28 |
|
#include "otypes.h" |
74 |
|
|
75 |
|
int backvis = 1; /* back face visibility */ |
76 |
|
|
77 |
< |
int maxdepth = 6; /* maximum recursion depth */ |
78 |
< |
double minweight = 4e-3; /* minimum ray weight */ |
77 |
> |
int maxdepth = 8; /* maximum recursion depth */ |
78 |
> |
double minweight = 2e-3; /* minimum ray weight */ |
79 |
|
|
80 |
|
char *ambfile = NULL; /* ambient file name */ |
81 |
|
COLOR ambval = BLKCOLOR; /* ambient value */ |
82 |
|
int ambvwt = 0; /* initial weight for ambient value */ |
83 |
< |
double ambacc = 0.2; /* ambient accuracy */ |
84 |
< |
int ambres = 128; /* ambient resolution */ |
85 |
< |
int ambdiv = 512; /* ambient divisions */ |
86 |
< |
int ambssamp = 0; /* ambient super-samples */ |
83 |
> |
double ambacc = 0.1; /* ambient accuracy */ |
84 |
> |
int ambres = 256; /* ambient resolution */ |
85 |
> |
int ambdiv = 1024; /* ambient divisions */ |
86 |
> |
int ambssamp = 512; /* ambient super-samples */ |
87 |
|
int ambounce = 0; /* ambient bounces */ |
88 |
|
char *amblist[128]; /* ambient include/exclude list */ |
89 |
|
int ambincl = -1; /* include == 1, exclude == 0 */ |
109 |
|
quit(code) /* quit program */ |
110 |
|
int code; |
111 |
|
{ |
112 |
< |
#ifndef NIX |
112 |
> |
#ifndef NON_POSIX /* XXX we don't clean up elsewhere? */ |
113 |
|
headclean(); /* delete header file */ |
114 |
|
pfclean(); /* clean up persist files */ |
115 |
|
#endif |
285 |
|
thisray.rmax = dmax; |
286 |
|
rayorigin(&thisray, NULL, PRIMARY, 1.0); |
287 |
|
if (castonly) { |
288 |
< |
if (!localhit(&thisray, &thescene)) |
288 |
> |
if (!localhit(&thisray, &thescene)) { |
289 |
|
if (thisray.ro == &Aftplane) { /* clipped */ |
290 |
|
thisray.ro = NULL; |
291 |
|
thisray.rot = FHUGE; |
292 |
|
} else |
293 |
|
sourcehit(&thisray); |
294 |
+ |
} |
295 |
|
} else |
296 |
|
rayvalue(&thisray); |
297 |
|
printvals(&thisray); |