More image painting fixes:
* 2D image painting support for masking to limit the max contribution of a stroke to a pixel, to get it working compatible with projection painting. Not strictly a bugfix, but the inconsistency here was annoying. * Fix python errors in Texture Mask panel in image editor, was missing overlay options. * Clamp paint mask to 0..1 in case some texture exceeds it, this could give black pixels due to integer overflow.
This commit is contained in:
@@ -163,7 +163,7 @@ void ImageBuff::plot(unsigned char *img, short width, short height, short x, sho
|
||||
// assign temporarily our buffer to the ImBuf buffer, we use the same format
|
||||
tmpbuf->rect = (unsigned int*)img;
|
||||
m_imbuf->rect = m_image;
|
||||
IMB_rectblend(m_imbuf, tmpbuf, x, y, 0, 0, width, height, (IMB_BlendMode)mode);
|
||||
IMB_rectblend(m_imbuf, m_imbuf, tmpbuf, NULL, 0, x, y, x, y, 0, 0, width, height, (IMB_BlendMode)mode);
|
||||
// remove so that MB_freeImBuf will free our buffer
|
||||
m_imbuf->rect = NULL;
|
||||
tmpbuf->rect = NULL;
|
||||
@@ -186,7 +186,7 @@ void ImageBuff::plot(ImageBuff *img, short x, short y, short mode)
|
||||
// assign temporarily our buffer to the ImBuf buffer, we use the same format
|
||||
img->m_imbuf->rect = img->m_image;
|
||||
m_imbuf->rect = m_image;
|
||||
IMB_rectblend(m_imbuf, img->m_imbuf, x, y, 0, 0, img->m_imbuf->x, img->m_imbuf->y, (IMB_BlendMode)mode);
|
||||
IMB_rectblend(m_imbuf, m_imbuf, img->m_imbuf, NULL, 0, x, y, x, y, 0, 0, img->m_imbuf->x, img->m_imbuf->y, (IMB_BlendMode)mode);
|
||||
// remove so that MB_freeImBuf will free our buffer
|
||||
m_imbuf->rect = NULL;
|
||||
img->m_imbuf->rect = NULL;
|
||||
|
||||
Reference in New Issue
Block a user