Consecutive Convolutions
Ed .
schumifer at hotmail.com
Tue Dec 22 14:57:55 CET 2009
Hi,
I am performing two consecutive convolution operations, one after each other in a filter (the Gaussian Blur filter in the review board). Of course, I need a temporary buffer to do this. Below is what I'm doing.
KisPaintDeviceSP interm = new KisPaintDevice(*src);
KisConvolutionPainter horizPainter(interm, dstInfo.selection());
horizPainter.applyMatrix(kernelHoriz, src, srcTopLeft, srcTopLeft, size, BORDER_REPEAT);
KisConvolutionPainter verticalPainter(dst, dstInfo.selection());
verticalPainter.applyMatrix(kernelVertical, interm, srcTopLeft, dstTopLeft, size, BORDER_REPEAT);
The output I'm getting when I apply the rasterizing filter, is the result of the second convolution only. However, if I apply the filter as a filter layer, I get the combined result of both convolutions.
As boud suggested on IRC, I switched Krita to the old tile engine, and the results are correct in both cases. Therefore, the indication is that this is a problem with the new tile engine. Could anyone investigate further?
_________________________________________________________________
Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail you.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_3:092010
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20091222/ddae4925/attachment.htm
More information about the kimageshop
mailing list