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
|
||||
|
||||
/**
|
||||
* 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__ */
|
||||
|
@ -47,10 +47,11 @@ bool FastGaussianBlurOperation::getDAI(rcti *rect, rcti *output)
|
||||
{
|
||||
// m_data->sizex * m_size should be enough? For some reason there
|
||||
// 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)
|
||||
sx = 1;
|
||||
int sy = this->m_data->sizey * this->m_size * 2;
|
||||
int sy = this->m_data->sizey * size;
|
||||
if (sy < 1)
|
||||
sy = 1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user