468 |
|
/* convert vector coordinates */ |
469 |
|
if (sdt->st->ndim == 3) { |
470 |
|
spinvector(rOutVec, outVec, zvec, -atan2(-inVec[1],-inVec[0])); |
471 |
< |
gridPos[0] = .5 - .5*sqrt(inVec[0]*inVec[0] + inVec[1]*inVec[1]); |
471 |
> |
gridPos[0] = (.5-FTINY) - |
472 |
> |
.5*sqrt(inVec[0]*inVec[0] + inVec[1]*inVec[1]); |
473 |
|
SDdisk2square(gridPos+1, rOutVec[0], rOutVec[1]); |
474 |
|
} else if (sdt->st->ndim == 4) { |
475 |
|
SDdisk2square(gridPos, -inVec[0], -inVec[1]); |
673 |
|
if (sdt->st->ndim == 3) { /* isotropic BSDF? */ |
674 |
|
if (mode != sdt->sidef) /* XXX unhandled reciprocity */ |
675 |
|
return &SDemptyCD; |
676 |
< |
inCoord[0] = .5 - .5*sqrt(inVec[0]*inVec[0] + inVec[1]*inVec[1]); |
676 |
> |
inCoord[0] = (.5-FTINY) - |
677 |
> |
.5*sqrt(inVec[0]*inVec[0] + inVec[1]*inVec[1]); |
678 |
|
} else if (sdt->st->ndim == 4) { |
679 |
|
if (mode != sdt->sidef) /* use reciprocity? */ |
680 |
|
SDdisk2square(inCoord, inVec[0], inVec[1]); |