--- ray/src/rt/raycalls.c 2003/02/22 02:07:29 2.1
+++ ray/src/rt/raycalls.c 2003/09/24 14:55:54 2.7
@@ -1,5 +1,5 @@
#ifndef lint
-static const char RCSid[] = "$Id: raycalls.c,v 2.1 2003/02/22 02:07:29 greg Exp $";
+static const char RCSid[] = "$Id: raycalls.c,v 2.7 2003/09/24 14:55:54 greg Exp $";
#endif
/*
* raycalls.c - interface for running Radiance rendering as a library
@@ -7,62 +7,7 @@ static const char RCSid[] = "$Id: raycalls.c,v 2.1 200
* External symbols declared in ray.h
*/
-/* ====================================================================
- * The Radiance Software License, Version 1.0
- *
- * Copyright (c) 1990 - 2002 The Regents of the University of California,
- * through Lawrence Berkeley National Laboratory. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- * if any, must include the following acknowledgment:
- * "This product includes Radiance software
- * (http://radsite.lbl.gov/)
- * developed by the Lawrence Berkeley National Laboratory
- * (http://www.lbl.gov/)."
- * Alternately, this acknowledgment may appear in the software itself,
- * if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Radiance," "Lawrence Berkeley National Laboratory"
- * and "The Regents of the University of California" must
- * not be used to endorse or promote products derived from this
- * software without prior written permission. For written
- * permission, please contact radiance@radsite.lbl.gov.
- *
- * 5. Products derived from this software may not be called "Radiance",
- * nor may "Radiance" appear in their name, without prior written
- * permission of Lawrence Berkeley National Laboratory.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL Lawrence Berkeley National Laboratory OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of Lawrence Berkeley National Laboratory. For more
- * information on Lawrence Berkeley National Laboratory, please see
- * .
- */
+#include "copyright.h"
/*
* These routines are designed to aid the programmer who wishes
@@ -133,7 +78,7 @@ static const char RCSid[] = "$Id: raycalls.c,v 2.1 200
* restarted at any point by calling ray_init() on a new
* octree.
*
- * The call ray_save(rp) allocates and returns a buffer
+ * The call ray_save(rp) fills a parameter structure
* with the current global parameter settings, which may be
* restored at any time with a call to ray_restore(rp).
* This buffer contains no linked information, and thus
@@ -145,18 +90,14 @@ static const char RCSid[] = "$Id: raycalls.c,v 2.1 200
* same as the defaults for rtrace.)
*/
-#include "ray.h"
+#include
+#include "ray.h"
#include "source.h"
-
#include "ambient.h"
-
#include "otypes.h"
-
#include "random.h"
-
#include "data.h"
-
#include "font.h"
char *progname = "unknown_app"; /* caller sets to argv[0] */
@@ -175,7 +116,7 @@ int samplendx = 0; /* index for this sample */
void (*trace)() = NULL; /* trace call */
extern void ambnotify();
-void (*addobjnotify[])() = {ambnotify, NULL};
+void (*addobjnotify[8])() = {ambnotify, NULL};
int do_irrad = 0; /* compute irradiance? */
@@ -222,8 +163,7 @@ char *otnm;
if (ofun[OBJ_SPHERE].funp == o_default)
initotypes();
/* initialize urand */
- if (urperm == NULL)
- initurand(2048);
+ initurand(2048);
/* read scene octree */
readoct(octname = otnm, ~(IO_FILES|IO_INFO), &thescene, NULL);
nsceneobjs = nobjects;
@@ -234,9 +174,9 @@ char *otnm;
/* ready to go... */
}
-
void
-ray_trace(RAY *r) /* trace a primary ray */
+ray_trace(r) /* trace a primary ray */
+RAY *r;
{
rayorigin(r, NULL, PRIMARY, 1.0);
samplendx++;
@@ -297,7 +237,7 @@ RAYPARAMS *rp;
rp->maxdepth = maxdepth;
rp->minweight = minweight;
copycolor(rp->ambval, ambval);
- bzero(rp->ambfile, sizeof(rp->ambfile));
+ memset(rp->ambfile, '\0', sizeof(rp->ambfile));
if (ambfile != NULL)
strncpy(rp->ambfile, ambfile, sizeof(rp->ambfile)-1);
rp->ambvwt = ambvwt;
@@ -307,7 +247,7 @@ RAYPARAMS *rp;
rp->ambssamp = ambssamp;
rp->ambounce = ambounce;
rp->ambincl = ambincl;
- bzero(rp->amblval, sizeof(rp->amblval));
+ memset(rp->amblval, '\0', sizeof(rp->amblval));
ndx = 0;
for (i = 0; i < AMBLLEN && amblist[i] != NULL; i++) {
int len = strlen(amblist[i]);
@@ -412,18 +352,18 @@ RAYPARAMS *rp;
rp->specthresh = .15;
rp->specjitter = 1.;
rp->backvis = 1;
- rp->maxdepth = 6;
- rp->minweight = 4e-3;
+ rp->maxdepth = 8;
+ rp->minweight = 2e-3;
setcolor(rp->ambval, 0., 0., 0.);
- bzero(rp->ambfile, sizeof(rp->ambfile));
+ memset(rp->ambfile, '\0', sizeof(rp->ambfile));
rp->ambvwt = 0;
- rp->ambres = 128;
- rp->ambacc = 0.2;
- rp->ambdiv = 512;
- rp->ambssamp = 0;
+ rp->ambres = 256;
+ rp->ambacc = 0.1;
+ rp->ambdiv = 1024;
+ rp->ambssamp = 512;
rp->ambounce = 0;
rp->ambincl = -1;
- bzero(rp->amblval, sizeof(rp->amblval));
+ memset(rp->amblval, '\0', sizeof(rp->amblval));
for (i = AMBLLEN+1; i--; )
rp->amblndx[i] = -1;
}