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

Comparing ray/src/rt/raytrace.c (file contents):
Revision 2.88 by greg, Wed Nov 15 18:02:53 2023 UTC vs.
Revision 2.91 by greg, Thu Nov 21 23:24:33 2024 UTC

# Line 50 | Line 50 | rayorigin(             /* start new ray from old one */
50                  rw = 1.0;
51                  setscolor(r->rcoef, 1., 1., 1.);
52          } else {
53 <                rw = sintens(rc);
53 >                rw = sintens((COLORV *)rc);
54                  if (rw > 1.0)
55                          rw = 1.0;               /* avoid calculation growth */
56                  if (rc != r->rcoef)
# Line 61 | Line 61 | rayorigin(             /* start new ray from old one */
61                  r->rweight = rw;
62                  r->crtype = r->rtype = rt;
63                  r->rsrc = -1;
64 + #ifdef SSKIPOPT
65 +                r->scorr = 1.f;
66 + #endif
67                  r->clipset = NULL;
68                  r->revf = raytrace;
69                  copycolor(r->cext, cextinction);
# Line 73 | Line 76 | rayorigin(             /* start new ray from old one */
76                          return(-1);             /* illegal continuation */
77                  }
78                  r->rlvl = ro->rlvl;
79 +                r->rsrc = ro->rsrc;
80 + #ifdef SSKIPOPT
81 +                r->scorr = ro->scorr;
82 + #endif
83                  if (rt & RAYREFL) {
84                          r->rlvl++;
85 <                        r->rsrc = -1;
85 >                        if (r->rsrc >= 0)       /* malfunctioning material? */
86 >                                r->rsrc = -1;
87                          r->clipset = ro->clipset;
88                          r->rmax = 0.0;
89                  } else {
82                        r->rsrc = ro->rsrc;
90                          r->clipset = ro->newcset;
91 <                        r->rmax = ro->rmax <= FTINY ? 0.0 : ro->rmax - ro->rot;
91 >                        r->rmax = (ro->rmax > FTINY)*(ro->rmax - ro->rot);
92                  }
93                  r->revf = ro->revf;
94                  copycolor(r->cext, ro->cext);
# Line 212 | Line 219 | raytirrad(                     /* irradiance hack */
219          RAY     *r
220   )
221   {
222 <        if (ofun[m->otype].flags & (T_M|T_X) && m->otype != MAT_CLIP) {
222 >        if (m->otype != MAT_CLIP && ismaterial(m->otype)) {
223                  if (istransp(m->otype) || isBSDFproxy(m)) {
224                          raytrans(r);
225                          return(1);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines