--- ray/src/common/bsdf_m.c 2011/04/19 21:31:22 3.10 +++ ray/src/common/bsdf_m.c 2011/04/20 14:44:05 3.11 @@ -1,5 +1,5 @@ #ifndef lint -static const char RCSid[] = "$Id: bsdf_m.c,v 3.10 2011/04/19 21:31:22 greg Exp $"; +static const char RCSid[] = "$Id: bsdf_m.c,v 3.11 2011/04/20 14:44:05 greg Exp $"; #endif /* * bsdf_m.c @@ -664,6 +664,10 @@ SDqueryMtxProjSA(double *psa, const FVECT v1, const RR /* get projected solid angles */ out_psa = mBSDF_outohm(dp, mBSDF_outndx(dp, v1)); inc_psa = mBSDF_incohm(dp, mBSDF_incndx(dp, v2)); + if ((out_psa <= 0) & (inc_psa <= 0)) { + inc_psa = mBSDF_outohm(dp, mBSDF_outndx(dp, v2)); + out_psa = mBSDF_incohm(dp, mBSDF_incndx(dp, v1)); + } switch (qflags) { /* record based on flag settings */ case SDqueryVal: