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

Comparing ray/src/rt/glass.c (file contents):
Revision 2.21 by greg, Sat Jan 25 18:27:39 2014 UTC vs.
Revision 2.22 by greg, Sat May 10 17:43:01 2014 UTC

# Line 41 | Line 41 | static const char RCSid[] = "$Id$";
41   #define  RINDEX         1.52            /* refractive index of glass */
42  
43  
44 < extern int
44 > int
45   m_glass(                /* color a ray which hit a thin glass surface */
46          OBJREC  *m,
47 <        register RAY  *r
47 >        RAY  *r
48   )
49   {
50          COLOR  mcolor;
# Line 57 | Line 57 | m_glass(               /* color a ray which hit a thin glass surfac
57          double  transtest, transdist;
58          double  mirtest, mirdist;
59          RAY  p;
60 <        register int  i;
60 >        int  i;
61                                                  /* check arguments */
62          if (m->oargs.nfargs == 3)
63                  rindex = RINDEX;                /* default value of n */
# Line 116 | Line 116 | m_glass(               /* color a ray which hit a thin glass surfac
116                  multcolor(trans, r->pcol);      /* modify by pattern */
117                                                  /* transmitted ray */
118                  if (rayorigin(&p, TRANS, r, trans) == 0) {
119 <                        if (!(r->crtype & SHADOW) && hastexture) {
119 >                        if (!(r->crtype & (SHADOW|AMBIENT)) && hastexture) {
120                                  VSUM(p.rdir, r->rdir, r->pert, 2.*(1.-rindex));
121                                  if (normalize(p.rdir) == 0.0) {
122                                          objerror(m, WARNING, "bad perturbation");
# Line 151 | Line 151 | m_glass(               /* color a ray which hit a thin glass surfac
151                  rayvalue(&p);
152                  multcolor(p.rcol, p.rcoef);
153                  addcolor(r->rcol, p.rcol);
154 <                if (!hastexture && r->ro != NULL && isflat(r->ro->otype)) {
154 >                if (r->ro != NULL && isflat(r->ro->otype) &&
155 >                                !hastexture | (r->crtype & AMBIENT)) {
156                          mirtest = 2.0*bright(p.rcol);
157                          mirdist = r->rot + p.rt;
158                  }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines