forked from bartvdbraak/blender
T39307: The fast gaussian blur is not an accurate formula. When deciding
which tiles are selected for input there was always a constant for correcting the accuracy. It seems that the constant was not enough and has been adjusted. (2 => 3).
This commit is contained in:
parent
fd3de8b042
commit
d9557d01bd
@ -109,4 +109,13 @@ typedef enum OrderOfChunks {
|
|||||||
|
|
||||||
#define COM_BLUR_BOKEH_PIXELS 512
|
#define COM_BLUR_BOKEH_PIXELS 512
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The fast gaussien blur is not an accurate blur.
|
||||||
|
* This setting can be used to increase/decrease the
|
||||||
|
* amount of the input data. (dependent area of interest)
|
||||||
|
*
|
||||||
|
* Fix for: T39307
|
||||||
|
*/
|
||||||
|
#define COM_FAST_GAUSSIAN_MULTIPLIER 3
|
||||||
|
|
||||||
#endif /* __COM_DEFINES_H__ */
|
#endif /* __COM_DEFINES_H__ */
|
||||||
|
@ -47,10 +47,11 @@ bool FastGaussianBlurOperation::getDAI(rcti *rect, rcti *output)
|
|||||||
{
|
{
|
||||||
// m_data->sizex * m_size should be enough? For some reason there
|
// m_data->sizex * m_size should be enough? For some reason there
|
||||||
// seem to be errors in the boundary between tiles.
|
// seem to be errors in the boundary between tiles.
|
||||||
int sx = this->m_data->sizex * this->m_size * 2;
|
float size = this->m_size * COM_FAST_GAUSSIAN_MULTIPLIER;
|
||||||
|
int sx = this->m_data->sizex * size;
|
||||||
if (sx < 1)
|
if (sx < 1)
|
||||||
sx = 1;
|
sx = 1;
|
||||||
int sy = this->m_data->sizey * this->m_size * 2;
|
int sy = this->m_data->sizey * size;
|
||||||
if (sy < 1)
|
if (sy < 1)
|
||||||
sy = 1;
|
sy = 1;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user