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

Comparing ray/src/rt/m_bsdf.c (file contents):
Revision 2.51 by greg, Mon Jun 25 23:04:06 2018 UTC vs.
Revision 2.52 by greg, Tue Jun 26 14:42:18 2018 UTC

# Line 36 | Line 36 | static const char RCSid[] = "$Id$";
36   *  hides geometry in front of the surface when rays hit from behind,
37   *  and applies only the transmission and backside reflectance properties.
38   *  Reflection is ignored on the hidden side, as those rays pass through.
39 < *      For the MAT_SBSDF type, we check for a strong "through" component.
39 > *      For the MAT_ABSDF type, we check for a strong "through" component.
40   *  Such a component will cause direct rays to pass through unscattered.
41   *  A separate test prevents over-counting by dropping samples that are
42   *  too close to this "through" direction.  BSDFs with such a through direction
43   *  will also have a view component, meaning they are somewhat see-through.
44 < *  A MAT_BSDF type with zero thickness behaves the same as a MAT_SBSDF
44 > *  A MAT_BSDF type with zero thickness behaves the same as a MAT_ABSDF
45   *  type with no strong through component.
46   *      The "up" vector for the BSDF is given by three variables, defined
47   *  (along with the thickness) by the named function file, or '.' if none.
# Line 55 | Line 55 | static const char RCSid[] = "$Id$";
55   *  not multiplied.  However, patterns affect this material as a multiplier
56   *  on everything except non-diffuse reflection.
57   *
58 < *  Arguments for MAT_SBSDF are:
58 > *  Arguments for MAT_ABSDF are:
59   *      5+      BSDFfile        ux uy uz        funcfile        transform
60   *      0
61   *      0|3|6|9 rdf     gdf     bdf
# Line 86 | Line 86 | typedef struct {
86          RREAL   toloc[3][3];    /* world to local BSDF coords */
87          RREAL   fromloc[3][3];  /* local BSDF coords to world */
88          double  thick;          /* surface thickness */
89 <        COLOR   cthru;          /* "through" component for MAT_SBSDF */
89 >        COLOR   cthru;          /* "through" component for MAT_ABSDF */
90          SDData  *sd;            /* loaded BSDF data */
91          COLOR   rdiff;          /* diffuse reflection */
92          COLOR   runsamp;        /* BSDF hemispherical reflection */
# Line 96 | Line 96 | typedef struct {
96  
97   #define cvt_sdcolor(cv, svp)    ccy2rgb(&(svp)->spec, (svp)->cieY, cv)
98  
99 < /* Compute "through" component color for MAT_SBSDF */
99 > /* Compute "through" component color for MAT_ABSDF */
100   static void
101   compute_through(BSDFDAT *ndp)
102   {
# Line 691 | Line 691 | m_bsdf(OBJREC *m, RAY *r)
691                  return(1);
692          }
693          setcolor(nd.cthru, 0, 0, 0);            /* consider through component */
694 <        if (m->otype == MAT_SBSDF) {
694 >        if (m->otype == MAT_ABSDF) {
695                  compute_through(&nd);
696                  if (r->crtype & SHADOW) {
697                          RAY     tr;             /* attempt to pass shadow ray */

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines