Fix bug with xaos interpolation, by setting all xaos values to zero first.

Remove unnecessary resize() in Interpolate().

These are from Simon Detheridge's PR:

Set file name padding in EmberRender and
EmberAnimate based on the log10() of how many images are getting rendered, rather than hardcoding it to 5.

Use non-locale-imbued stream for writing filename in EmberAnimate.

Properly cast immediate float value used with pow() in density filter kernel.
This commit is contained in:
mfeemster
2015-03-30 17:46:52 -07:00
parent e746ae33ab
commit 4067422075
7 changed files with 29 additions and 19 deletions

View File

@ -291,7 +291,7 @@ string DEOpenCLKernelCreator<T>::CreateGaussianDEKernel(size_t ss)
if (doScf)
os <<
" real_t scfact = pow(densityFilter->m_Supersample / (densityFilter->m_Supersample + 1.0), 2.0);\n";
" real_t scfact = pow(densityFilter->m_Supersample / (densityFilter->m_Supersample + 1.0), (real_t)2.0);\n";
}
os <<
@ -518,7 +518,7 @@ string DEOpenCLKernelCreator<T>::CreateGaussianDEKernel(size_t ss)
if (doScf)
os <<
" real_t scfact = pow(densityFilter->m_Supersample / (densityFilter->m_Supersample + 1.0), 2.0);\n";
" real_t scfact = pow(densityFilter->m_Supersample / (densityFilter->m_Supersample + 1.0), (real_t)2.0);\n";
}
//Compute the size of the temporary box which is the block width + 2 * filter width x block height + 2 * filter width.
@ -646,12 +646,13 @@ string DEOpenCLKernelCreator<T>::CreateGaussianDEKernel(size_t ss)
"\n";
if (doScf)
os << " filterSelect *= scfact;\n";
os <<
" filterSelect *= scfact;\n";
}
else
{
os
<< " filterSelect = bucket.w;\n";
os <<
" filterSelect = bucket.w;\n";
}
os <<
@ -775,7 +776,7 @@ string DEOpenCLKernelCreator<T>::CreateGaussianDEKernelNoLocalCache(size_t ss)
" int densityBoxBottomY;\n";
if (doScf)
os << " real_t scfact = pow((real_t)densityFilter->m_Supersample / ((real_t)densityFilter->m_Supersample + 1.0), 2.0);\n";
os << " real_t scfact = pow((real_t)densityFilter->m_Supersample / ((real_t)densityFilter->m_Supersample + 1.0), (real_t)2.0);\n";
}
os <<