[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    I tried to act like Krita`s bezior smooth, but ...
From:       Leslie Zhai <xiangzhai83 () gmail ! com>
Date:       2014-09-16 3:47:08
Message-ID: 5417B2BC.5090109 () gmail ! com
[Download RAW message or body]

Hi Krita developers,

I experienced Krita with Wacom Bamboo, it is awesome! it use bezior 
curve to smooth the vibration when pressing or moving, for example, the 
line 105 at 
calligra/krita/plugins/paintops/curvebrush/kis_curve_paintop.cpp

https://projects.kde.org/projects/calligra/repository/revisions/master/entry/krita/plugins/paintops/curvebrush/kis_curve_paintop.cpp#L105


and Krita pay more attention to the end of point, it use curveOpacity to 
smooth the QTabletEvent released event 
http://leetcode.cn/sites/default/files/smooth-snapshot2.png

I tried to act like Krita`s 
https://github.com/xiangzhai/tablet/blob/master/tabletcanvas.cpp#L209 
but it is ugly ;( 
http://leetcode.cn/sites/default/files/smooth-snapshot1.png

1. I use LINER pressure [.0, 1,0] to set pen`s width, perhaps Krita use 
PARABOLIC CURVE pow(pressure, 0.125), but to a SLOW CPU, it is a heavy 
operation? how to smooth pressure?

2. Krita use curveOpacity related with pressure, the same story as pen`s 
width.

3. update partial region when the painter path is bezior curve, if 
directly use update(), it is a heavy operation too, but how to set the 
partial region?

Please someone give me some advice, thanks a lot!

-- 
Regards
Leslie Zhai
a KDE developer

> > Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic