--- ray/src/rt/aniso.c 1994/12/21 09:51:44 2.28 +++ ray/src/rt/aniso.c 1995/11/06 12:03:20 2.30 @@ -263,8 +263,7 @@ register RAY *r; /* diffuse reflection */ nd.rdiff = 1.0 - nd.trans - nd.rspec; - if (r->ro != NULL && (r->ro->otype == OBJ_FACE || - r->ro->otype == OBJ_RING)) + if (r->ro != NULL && isflat(r->ro->otype)) nd.specfl |= SP_FLAT; getacoords(r, &nd); /* set up coordinates */ @@ -273,7 +272,7 @@ register RAY *r; agaussamp(r, &nd); if (nd.rdiff > FTINY) { /* ambient from this side */ - ambient(ctmp, r); + ambient(ctmp, r, nd.pnorm); if (nd.specfl & SP_RBLT) scalecolor(ctmp, 1.0-nd.trans); else @@ -283,7 +282,7 @@ register RAY *r; } if (nd.tdiff > FTINY) { /* ambient from other side */ flipsurface(r); - ambient(ctmp, r); + ambient(ctmp, r, nd.pnorm); if (nd.specfl & SP_TBLT) scalecolor(ctmp, nd.trans); else