branches/koffice/1.6/koffice/krita/plugins/filters

Bart Coppens kde at bartcoppens.be
Thu Sep 7 17:52:45 CEST 2006


On Thursday 07 September 2006 14:05, Bart Coppens wrote:
> In a way you're right. Let me look into this.
Status report: it finally dawned on me why the convolution filters don't work 
together with adjustment layers. Basically, we get this:

1) Add Adjustment Layer
1.1) Layers underneath the adjustment layer are composited to the projection
1.2) The adjustment layer's filter convolves the projection. No problem.

2) Change adjustment selection / Add dab underneath adjustment layer
2.1) The layer underneath gets updated in the dirtyRect of the dab
2.2) Adjustment layer needs again convolves the projection. Problem! Because 
the convolution needs a _bigger_ source rect, we give it that.
This is a problem, because outside the original dab rect, the projection is 
stale! It's filled with the previous convolution result. So the second 
adjustment takes into account the first convolution result at the edges, 
instead of the actual projection. And these errors obviously accumulate.

Solutions: somehow cache the original composition, or re-composite it, or 
beforehand ask the adjustment layer how much larger the rect will be. Of 
course, each of those solutions has a filter use case that it's really good 
for, and one that it's really bad for ;-(

Bart


More information about the kimageshop mailing list