added management of failure of computation of baricentric coords during rasterization of textures

This commit is contained in:
Paolo Cignoni cignoni 2010-09-21 22:35:23 +00:00
parent a6b5b09ecc
commit a6a1ddb5ec

View File

@ -281,12 +281,9 @@ public:
// Convert point to barycentric coords
vcg::Point3f interp;
int axis = 0;
float tmp = -1;
for (int i=0; i<3; ++i)
if (fabs(nearestF->cN()[i]) > tmp) {tmp = fabs(nearestF->cN()[i]); axis = i;}
bool ret = InterpolationParameters(*nearestF, axis, closestPt, interp);
assert(ret);
bool ret = InterpolationParameters(*nearestF, nearestF->cN(), closestPt, interp);
if(!ret) return;
assert(ret);
interp[2]=1.0-interp[1]-interp[0];
if (alpha==255 || qAlpha(trgImg.pixel(tp.X(), trgImg.height() - tp.Y())) < alpha)