derivative maps must take into account that texture scales can be negative

This commit is contained in:
Morten Mikkelsen 2012-01-03 22:27:30 +00:00
parent aa1325ef55
commit 3b8404ac53
2 changed files with 2 additions and 2 deletions

@ -1122,7 +1122,7 @@ static void do_material_tex(GPUShadeInput *shi)
norfac = -hScale * mtex->norfac;
if(found_deriv_map)
{
float fVirtDim = sqrtf(ima_x*mtex->size[0]*ima_y*mtex->size[1]);
float fVirtDim = sqrtf(fabsf(ima_x*mtex->size[0]*ima_y*mtex->size[1]));
norfac /= MAX2(fVirtDim, FLT_EPSILON);
}

@ -1970,7 +1970,7 @@ static int ntap_bump_compute(NTapBump *ntap_bump, ShadeInput *shi, MTex *mtex, T
auto_bump = shi->obr->ob->derivedFinal->auto_bump_scale;
}
{
float fVirtDim = sqrtf((float) (dimx*dimy)*mtex->size[0]*mtex->size[1]);
float fVirtDim = sqrtf(fabsf((float) (dimx*dimy)*mtex->size[0]*mtex->size[1]));
auto_bump /= MAX2(fVirtDim, FLT_EPSILON);
}