Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GIMP 2.9.5 MyPaint-Brushes weird effect #91

Closed
SenlinOS opened this issue Jun 20, 2017 · 19 comments
Closed

GIMP 2.9.5 MyPaint-Brushes weird effect #91

SenlinOS opened this issue Jun 20, 2017 · 19 comments
Assignees
Labels

Comments

@SenlinOS
Copy link

Lubuntu 16.04, GIMP 2.9.5 PPA (Just updated)
2017-06-20, The latest version of libmypaint-master is installed, but questions remain.

Such as: MyPaint Brushes deevad-v6 (The brush parameter is the default)
spray2: A spacing stroke appeared in the splash effect.
watercolor expressive: Using this brush will cause GIMP to Feign death.
Some MyPaint Brushes: There will be a big of spacing or no flow.

If there is the problem with GIMP, please close this report.

@manuq
Copy link
Member

manuq commented Jun 20, 2017

There were indeed breaking changes. I'm fine having changes breaking the tests to add new features, but in this case it seems many brushes have to be updated or made from scratch again to be usable.

captura de pantalla de 2017-06-20 10-25-53

Here I'm comparing MyPaint master on the left with MyPaint stable on the right. Trying to do the same strokes with the same shape and pressure in both sides.

  • horizontal lines: Classic - modelling brush
  • circles: Classic - ink blot
  • vertical wave right: Experimental speed blot
  • vertical wave left: Experimental spaced blot
  • horizontal wave: Experimental hard blot

@briend briend self-assigned this Jun 20, 2017
@briend
Copy link
Contributor

briend commented Jun 20, 2017

Well, I broke this. Any brushes that rely heavily on Speed need to be tweaked slightly to get back the original look. I can work on updating the brushes, there shouldn't be a whole lot that rely so heavily on speed, but obviously these ones are quite a bit different now. For instance with Classic Ink Blot, if you reduced the Offset By Speed from .13 to .04 it seems to bring it back to normal. Sorry about this...

On the bright side, you should notice that Speed behavior is consistent across zoom levels and brush radiuses. Previously changing either of these would directly affect the speed, so the effect of Speed would either diminish or explode, causing major brush consistency issues. It just seems no one really noticed this issue before :-/.

@manuq
Copy link
Member

manuq commented Jun 20, 2017

@briend thanks for your work, is really great. I will see if I can come with a script to automate the change to all brushes.

@briend
Copy link
Contributor

briend commented Jun 20, 2017

Thanks @manuq :). I don't think it's so simple though. Previously, if a brush was "designed" at 50% zoom (like many devaad brushes), those Speed settings didn't work "as designed" if the next person was using 100% zoom (they would be tempered a bit). Same thing with the default brush diameter, effectively. So I think we're going to just have to compare and tweak manually, and even then for the comparison we need to decide if comparing at 100% zoom or 50% zoom for deevad. Sadly, if we do 50% zoom for devaad and capture the personality he intended, it could still seem broken for people that were used to the brushes at 100% zoom.

@SenlinOS
Copy link
Author

In other words, all the brushes need to be re-adjusted to use?

@briend
Copy link
Contributor

briend commented Jun 20, 2017

@SenlinOS Well, not all. I only counted about 8 brushes that even use offset_by_speed, which seems to be the more dramatic change in behavior. However, there are indeed 73 brushes that use either speed_1 or speed_2 as inputs to at least one setting. I am hoping that only a small percentage of those are actually noticeably different.

@briend
Copy link
Contributor

briend commented Jun 20, 2017

@manuq maybe there is a formula, actually. If we just set our standard for 100% zoom and ignore the "as-designed issue". We should be able to take any speed setting and divide it by the default brush radius (radius_logarithmic) for that brush. In the Classic Ink Blot example, the default brush radius is 2.5. So, 0.13/2.5 is .052 which is pretty close to my suggestion of 0.04. That's easy for base value of offset_by_speed, but to fix the curve points I think we have to drag the slider to adjust the magnitude of the entire set of points. Let me know if your script works, otherwise I can manually fix them.

@manuq
Copy link
Member

manuq commented Jun 20, 2017

@briend for offset_by_speed I get better results if I divide the current value by radius_logarithmic * 2.5 . Better testcases are "Experimental speed blot" or "small blot". For finer adjustment I think is important to narrow the UI range (currently goes from -3 to 3). All my tests are at 100% zoom.

Indeed the brushes that have speed1 or speed2 as inputs are a problem. I played with "Classic modelling" but I wasn't able to find a formula to fix it. I know many artists use this brush.

@briend
Copy link
Contributor

briend commented Jun 21, 2017

@manuq @SenlinOS can you try this branch:
https://github.com/mypaint/libmypaint/tree/zoomfix
I fixed an obvious problem with offset_by_speed, and I moved the zoom correction to a different place which seems to work better. All the brushes above seem to be ok now, except for modeling. However by tweaking the fine speed to .45 and the gross speed to .75 it seems to be pretty darn close: old on the left, new on the right. On the right, modeling is the only one that was tweaked
screenshot from 2017-06-20 21-36-27

@briend
Copy link
Contributor

briend commented Jun 21, 2017

and... just realized "stroke" is affected by speed. not my day :/

@briend
Copy link
Contributor

briend commented Jun 21, 2017

Ok norm_dist (which stroke uses) now uses the old logic that includes base_radius. That seems to make sense, I suppose-- distance should include the size of the dab,-- bigger dabs, more distance. Whereas speed shouldn't care how big a dab is-- a tiny dab can move the same speed as a bigger dab. Maybe they are really wheels rolling along the canvas? That's why they have to be round!
Now spaced blot looks better, and leaves looks identical. Stroke should be 100% identical for all brushes.
screenshot from 2017-06-20 22-20-22

@SenlinOS
Copy link
Author

SenlinOS commented Jun 21, 2017

@briend GIMP2.9.5, libmypaint/tree/zoomfix:
In addition to the "splash" class brushes effect can be, the other brushes effect is not good, large spacing or no flow.
Maybe it works better in MyPaint, but it doesn't work well in GIMP!

@briend
Copy link
Contributor

briend commented Jun 21, 2017

@SenlinOS are you sure you pulled the latest change I made to the stroke, there should be two commits on that branch above. Can you include a screenshot too?

@SenlinOS
Copy link
Author

Gqt

@briend
Copy link
Contributor

briend commented Jun 21, 2017

Oh wow, that's really broken. I don't think GIMP has it working yet, see this post:
#92
You probably want to use this version of libmypaint, for now:
https://github.com/mypaint/libmypaint/releases/tag/v1.3.0
Sorry for the trouble!

@SenlinOS
Copy link
Author

This effect is in PPA (more people will use PPA installation, so the problem is very troublesome! )
Gqt

@manuq
Copy link
Member

manuq commented Jun 21, 2017

@briend excellent! This branch is very close to the previous situation. I've made two videos. In the smudging tools, some like Classic/blending knife are softer than before, but overall I think we are good.

video 1
video 2

If someone wants to test this branch easily, it can be installed from here:

flatpak remote-add --no-gpg-verify --user mypaint-master-repo http://flatpak-repo.manuq.com.ar
flatpak --user install mypaint-master-repo org.mypaint.MyPaint-Testing
flatpak run org.mypaint.MyPaint-Testing

@briend
Copy link
Contributor

briend commented Jun 21, 2017

@manuq Thank you for testing!

@briend
Copy link
Contributor

briend commented Jun 21, 2017

Ok the zoomfix has been merged into master. I will create a new issue on the MyPaint side for the tweaks to a few brushes to get them back to "normal". Thanks for everyone's patience!!

@briend briend closed this as completed Jun 21, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

4 participants