Comments (6)
The brush engine is currently unaware of the zoom level.
from libmypaint.
Not sure how I closed the issue. Anyway, that makes sense. So we'd have to pass zoom level just like pressure to brush lib?
from libmypaint.
I'm working on a branch that passes zoom and view-rotation data as input data to libmypaint. So now with the data the brush engine should be able to correct for them. I've had success correcting Direction and Ascension, and will try to correct speed next:
https://github.com/briend/libmypaint/tree/view-zoom
https://github.com/briend/mypaint/tree/view-zoom
Any help/suggestions are appreciated! I'm not a math-person so I basically trial-and-error 15 different formulas until the result is what I expect :-)
from libmypaint.
Ok I have speed corrected for zoom in the branched in the previous post (yay!). Funny the values stay between 0 and 4 so there is no need to change the brush settings. I clamp at 4.0 just in case-- if you really whip the stylus I saw values around 5.0. I also removed the division by base_radius since that is unnecessary now.
What I didn't realize is the gamma setting isn't supposed to let you have huge values-- it's supposed to CHANGE the values more quickly (with higher gamma) and more slowly with lower gamma. When I saw speeds of over 200 I assumed the gamma was responsible for inflating the numbers but really it was just quickly reporting the actual speed (yikes!).
Here's a demo video showing a brush w/ jitter controlled by speed-- works consistently at all zoom levels!
https://www.youtube.com/watch?v=JAQ5wUKbUOw&feature=youtu.be
from libmypaint.
community discussion here:
https://community.mypaint.org/t/zoom-and-view-rotation-corrections-rfc/465
from libmypaint.
Changed title to reflect the scope of this issue, which I think should be tackled as a whole. I've updated the view-zoom branches to adjust for zoom(speed) and viewrotation(ascension, direction, dab angle). Please give it a try!
from libmypaint.
Related Issues (20)
- GPU driven optimization HOT 5
- minimal.c broken in branch libmypaint-v1.5.x HOT 2
- Tag for 2.0 release HOT 1
- Upgrading from 1.4 to 1.5, results of `minimal.c` changed. HOT 5
- Are all of the "2" structs/functions safe to use? HOT 2
- Building via MSYS2 on Windows is broken in v.1.5.1 HOT 3
- Consider cleaning up doc/Doxyfile HOT 1
- Brush sampling skipping cause brush to restart in undo stack HOT 3
- libmypaint has version string in lib name HOT 6
- Gobject introspection file also bumps version string under major.minor versioning scheme HOT 4
- Dynamic brush with tapers [new feature idea] HOT 2
- libmypaint fails to reconfigure with autoconf 2.70 HOT 13
- 1.6.1: build fails HOT 1
- hangs in stroke_to, triggered by large coordinates with some settings.
- Spectrum mixing speed up by direct mixing colours that are close enough HOT 7
- how to make it to android? HOT 1
- #include "config.h" not found HOT 1
- possible issue in mix_colors (helpers.c)
- ImportError: cannot import name _mypaintlib HOT 1
- no libmypaint-2.0 on MINGW2 ? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libmypaint.