Impasto discussion
Matthew Woehlke
mw_triad at users.sourceforge.net
Fri Jul 9 22:41:10 CEST 2010
Dmitry Kazakov wrote:
>> I think, instead of rendering every layer, it is better to use
>>> COMPOSITE_ALPHA_DARKEN for impasto channel. It'll be much cheaper. In
>> such a
>>> case, the final impasto value of the point on projection will be equal to
>>> the value of the most opaque layer.
>>
>> No, that doesn't work well, as I explained:
>>> That technique has obvious problems, since it effectively amounts to
>>> carving an alpha-mask-shaped hole in the underlying layers' impasto,
>>> rather than letting the layer as a whole float above the layers beneath.
>
> Well, maybe I don't understand something... I meant the following:
> * every layer has an impasto channel
> * let's have three layers:
>
> Layer1: alpha=transparent; impasto=100;
> Layer2: alpha=opaque; impasto=125;
> Layer3: alpha=transparent; impasto=50;
>
> The result impasto value will be: 125
>
> Isn't it what expected?
I suppose... if you only do one stage of impasto rendering. However, say
you have two layers, with impasto cross sections like this:
layer1
.
...
......
........
.......
.........
.......
........
......
...
.
layer2
..
.
..
.
.
..
..
..
.
Now, if layer1 is opaque, and layer2 is opaque in the middle but
transparent in the outside, you end up with this:
(1) .
(1) ...
(1) ......
(1) ........
(2) .
(2)
(2) .
(1) ........
(1) ......
(1) ...
(1) .
...but now you have a deep crater in the middle of your canvas, and
single-pass impasto is going to show that deep crater. But is that
really what you wanted? In my experience it is not. (It's especially bad
when you've overpainted an entire layer with a different base height for
the impasto, which in my experience seems to happen whenever you try to
erase impasto.)
I'm not sure how exactly to (aesthetically) describe the technique I'm
describing (technically); partly I'm not sure exactly how (or how well)
it would work without actually seeing it. The opaque parts of layer2
will cover the impasto of layer1 (as desired), but I believe it would
work better than single-pass impasto, as you won't have the pronounced
(and not desired) height-change you would with single-pass.
Hope this makes sense!
> Btw, if we manage to implement impasto as a filter, per-layer impasto will
> be easily achieved with a usual Filter Mask.
True. I guess that means instead of having impasto as some global thing,
you just slap a filter on at the stack top if you want it (and want
single-pass). Though it would probably save quite some UI space to
combine display of the filter with display of the impasto channel, and
just be implicit that the filter is there (but can be disabled).
--
Matthew
Please do not quote my e-mail address unobfuscated in message bodies.
--
ENOWIT: .sig file temporarily unavailable
More information about the kimageshop
mailing list