ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/hd/rhdobj.c
(Generate patch)

Comparing ray/src/hd/rhdobj.c (file contents):
Revision 3.9 by gwlarson, Thu Dec 31 12:57:06 1998 UTC vs.
Revision 3.11 by greg, Sat Feb 22 02:07:24 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1998 Silicon Graphics, Inc. */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ SGI";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   * Routines for loading and displaying Radiance objects in rholo with GLX.
6   */
# Line 55 | Line 52 | typedef struct dobject {
52          FVECT   center;                 /* orig. object center */
53          FLOAT   radius;                 /* orig. object radius */
54          int     listid;                 /* GL display list identifier */
55 +        int     nlists;                 /* number of lists allocated */
56          int     rtp[3];                 /* associated rtrace process */
57          DLIGHTS *ol;                    /* object lights */
58          FULLXF  xfb;                    /* coordinate transform */
# Line 119 | Line 117 | register DOBJECT       *op;
117          }
118          dobjects = ohead.next;
119          if (!foundlink) {
120 <                glDeleteLists(op->listid, 1);
120 >                glDeleteLists(op->listid, op->nlists);
121                  close_process(op->rtp);
122          }
123          while (op->xfac)
124                  freestr(op->xfav[--op->xfac]);
125 <        free((char *)op);
125 >        free((void *)op);
126          return(1);
127   }
128  
# Line 299 | Line 297 | ssph_compute()                 /* compute source set from sphere sam
297                                                  /* avg. reflected brightness */
298          d = AVGREFL / (double)ncells;  
299          scalecolor(csum, d);
300 <        if (tmCvColors(&dlightsets->larb, TM_NOCHROM, csum, 1) != TM_E_OK)
300 >        if (tmCvColors(&dlightsets->larb, TM_NOCHROM, &csum, 1) != TM_E_OK)
301                  error(CONSISTENCY, "tone mapping problem in ssph_compute");
302                                          /* greedy light source clustering */
303          while (dlightsets->nl < MAXLIGHTS) {
# Line 406 | Line 404 | int    force;
404                          quit(0);
405          if (!ssph_compute()) {          /* compute light sources from sphere */
406                  dlightsets = dl->next;
407 <                free((char *)dl);
407 >                free((void *)dl);
408                  return(0);
409          }
410          op->ol = dl;
# Line 577 | Line 575 | char   *oct, *nam;
575                                          /* load octree into display list */
576          dolights = 0;
577          domats = 1;
578 <        op->listid = rgl_octlist(fpath, op->center, &op->radius);
578 >        op->listid = rgl_octlist(fpath, op->center, &op->radius, &op->nlists);
579                                          /* start rtrace */
580          rtargv[RTARGC-1] = fpath;
581          rtargv[RTARGC] = NULL;
# Line 614 | Line 612 | dobj_cleanup()                         /* free all resources */
612          savedxf(curobj = NULL);
613          while ((lp = dlightsets) != NULL) {
614                  dlightsets = lp->next;
615 <                free((char *)lp);
615 >                free((void *)lp);
616          }
617          return(1);
618   }
# Line 862 | Line 860 | FVECT   rorg, rdir;
860                  VCOPY(darr, rorg); VCOPY(darr+3, rdir);
861          }
862                                  /* trace it */
863 <        if (process(op->rtp, darr, darr, sizeof(double),
863 >        if (process(op->rtp, (char *)darr, (char *)darr, sizeof(double),
864                          6*sizeof(double)) != sizeof(double))
865                  error(SYSTEM, "rtrace communication error");
866                                  /* return distance */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines