--- ray/src/rt/raycalls.c 2003/10/04 14:39:53 2.8 +++ ray/src/rt/raycalls.c 2004/10/21 23:40:04 2.10 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: raycalls.c,v 2.8 2003/10/04 14:39:53 greg Exp $"; +static const char RCSid[] = "$Id: raycalls.c,v 2.10 2004/10/21 23:40:04 greg Exp $"; #endif /* * raycalls.c - interface for running Radiance rendering as a library @@ -23,10 +23,9 @@ static const char RCSid[] = "$Id: raycalls.c,v 2.8 200 * sort of context, so it is impossible to simultaneously run * this library on multiple scenes or in multiple threads. * You get one scene and one thread, and if you want more, you - * will have to go with the process model used by the programs - * gen/mkillum, hd/rholo, and px/pinterp. Finally, unrecoverable - * errors result in a call to the application-defined function - * quit(). The usual thing to do is to call exit(). + * will have to go with the process model defined in raypcalls.c. + * Finally, unrecoverable errors result in a call to the application- + * defined function quit(). The usual thing to do is to call exit(). * You might want to do something else instead, like * call setjmp()/longjmp() to bring you back to the calling * function for recovery. You may also wish to define your own @@ -115,7 +114,6 @@ int samplendx = 0; /* index for this sample */ void (*trace)() = NULL; /* trace call */ -extern void ambnotify(); void (*addobjnotify[8])() = {ambnotify, NULL}; int do_irrad = 0; /* compute irradiance? */ @@ -153,9 +151,10 @@ char *amblist[AMBLLEN+1]; /* ambient include/exclude int ambincl = -1; /* include == 1, exclude == 0 */ -void -ray_init(otnm) /* initialize ray-tracing calculation */ -char *otnm; +extern void +ray_init( /* initialize ray-tracing calculation */ + char *otnm +) { if (nobjects > 0) /* free old scene data */ ray_done(0); @@ -174,9 +173,10 @@ char *otnm; /* ready to go... */ } -void -ray_trace(r) /* trace a primary ray */ -RAY *r; +extern void +ray_trace( /* trace a primary ray */ + RAY *r +) { rayorigin(r, NULL, PRIMARY, 1.0); samplendx++; @@ -184,9 +184,10 @@ RAY *r; } -void -ray_done(freall) /* free ray-tracing data */ -int freall; +extern void +ray_done( /* free ray-tracing data */ + int freall +) { retainfonts = 1; ambdone(); @@ -204,16 +205,17 @@ int freall; initurand(0); } if (nobjects > 0) { - sprintf(errmsg, "%d objects left after call to ray_done()", + sprintf(errmsg, "%ld objects left after call to ray_done()", nobjects); error(WARNING, errmsg); } } -void -ray_save(rp) /* save current parameter settings */ -RAYPARAMS *rp; +extern void +ray_save( /* save current parameter settings */ + RAYPARAMS *rp +) { int i, ndx; @@ -261,9 +263,10 @@ RAYPARAMS *rp; } -void -ray_restore(rp) /* restore parameter settings */ -RAYPARAMS *rp; +extern void +ray_restore( /* restore parameter settings */ + RAYPARAMS *rp +) { register int i; @@ -328,9 +331,10 @@ RAYPARAMS *rp; } -void -ray_defaults(rp) /* get default parameter values */ -RAYPARAMS *rp; +extern void +ray_defaults( /* get default parameter values */ + RAYPARAMS *rp +) { int i; @@ -358,7 +362,7 @@ RAYPARAMS *rp; memset(rp->ambfile, '\0', sizeof(rp->ambfile)); rp->ambvwt = 0; rp->ambres = 256; - rp->ambacc = 0.1; + rp->ambacc = 0.15; rp->ambdiv = 1024; rp->ambssamp = 512; rp->ambounce = 0;