Consecutive Convolutions

Dmitry Kazakov dimula73 at gmail.com
Tue Dec 22 15:34:05 CET 2009


Hm.. stack is not needed actually.

Add for the source:
KisTransaction *t0 = new KisTransaction("", src);

On Tue, Dec 22, 2009 at 5:29 PM, Ed . <schumifer at hotmail.com> wrote:

>
> Do you mean, like so?
>
>         QUndoStack stack;
>
>         KisTransaction *t1 = new KisTransaction("", interm);
>
>         KisConvolutionPainter horizPainter(interm, dstInfo.selection());
>         horizPainter.applyMatrix(kernelHoriz, src, srcTopLeft, srcTopLeft,
> size, BORDER_REPEAT);
>         stack.push(t1);
>
>         KisTransaction *t2 = new KisTransaction("", dst);
>
>         KisConvolutionPainter verticalPainter(dst, dstInfo.selection());
>         verticalPainter.applyMatrix(kernelVertical, interm, srcTopLeft,
> dstTopLeft, size, BORDER_REPEAT);
>         stack.push(t2);
>
> This had no effect whatsoever.
>
> ------------------------------
> Date: Tue, 22 Dec 2009 17:05:21 +0300
> Subject: Re: Consecutive Convolutions
> From: dimula73 at gmail.com
> To: kimageshop at kde.org
>
>
> Could you try to create transactions for both devices? Directly or using
> KisPainter's method. Filters rely on oldData feature but this do not work
> without a transaction created.
>
> On Tue, Dec 22, 2009 at 4:57 PM, Ed . <schumifer at hotmail.com> wrote:
>
>  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>
>
> _______________________________________________
> kimageshop mailing list
> kimageshop at kde.org
> https://mail.kde.org/mailman/listinfo/kimageshop
>
>
>
>
> --
> Dmitry Kazakov
>
> ------------------------------
> Windows Live: Make it easier for your friends to see what you’re up to on
> Facebook.<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_2:092009>
>
> _______________________________________________
> kimageshop mailing list
> kimageshop at kde.org
> https://mail.kde.org/mailman/listinfo/kimageshop
>
>


-- 
Dmitry Kazakov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20091222/8d5bbeb5/attachment-0001.htm 


More information about the kimageshop mailing list