Pull Requests. 360deg direction & Offsets

Tags: #<Tag:0x00007f3629f31360> #<Tag:0x00007f3629f31248> #<Tag:0x00007f3629f310e0> #<Tag:0x00007f3629f30ff0>

I gave another try to compiling on Win10, and huzzah it worked right away! So now I made my first PR and hope I got this right.

What it does: Adds brush input for 360 degrees.
Why do we need it? The default “Direction” input goes from 0 to 180. If you, eg map this to value you will have 2 “breaks” when drawing a circle. 360 Direction will have 1 “break”: And when using a “peaked” curve that starts and ends at 0, with 360 in the middle AHJUSTLOOKATTHEIMAGEITSHARDTOEXPLAIN:

Doing this with the default direction leads to this, cant have it just on the bottom…:

What to be aware of: The result is different for clockwise vs counter clockwise. So don’t be surprised if your awesome custom brush suddenly misbehaves.

What needs to be changed? I already changed the display name to be a bit clearer and to show the difference to the normal “Direction”. I don’t know if there are any bugs, feel free to fix.

I tested it with the newest state of mypaint from github.
Also, this is compatible with brushes from the tumagonx build.

next up: X&Y&Angular Offsets.

1 Like

PRs Part 2: Offsets brush settings.

It is independent from the direction stuff above. And this time I tried to “rebase” first, don’t know what it really did though :dizzy_face:

What it does: Adds 4 new settings to the brush editor. X&Y are simple position offsets. “Angular” offsets the dab perpendicularly to the drawing direction. “Angular mirrored” does the same but to both sides of the stroke = two parallel lines. Since it shifts every second dab to the other side lines can end up less dense.

Why we need it? Because it’s dope!

What needs to be changed? The settings are now listed in the “Experimental” section of the brush editor. I’m not sure where to put them. Lots of stuff in “basic” already, so I vote for a new section “Offset” or “Position” or “Position Offset” with those 4 new offsets, and Jitter and maybe Offset by Speed and maybe even Pixel Snap in it. We can of course change names and descriptions or fix any bugs. Maybe we need to fine tune the min-max values too.

I tested it with the latest git state. And it is still compatible with the old TumaGonx build and brushes made with it.

next up: “real” color blending…

1 Like

This is awesome. I’ve been playing with the Angular Mirrored in combination with the Attack Angle and Rotation inputs I’ve been working on. So, you know how with a regular dip pen or a fountain pen; if you press too hard you’ll get “railroading” like the image below. So, with Angular Mirrored mapped to pressure we can get this cool effect! But to make it even more realistic we need to control Angular Mirrored with Attack Angle so it only happens around 0 and around 180 degrees (you won’t notice railroading with side-to-side movement). Also, if you rotate a dip pen or fountain pen upside down you’ll get a thinner line and no railroading. The tines can’t separate when upside down (not to mention you wouldn’t want to press too hard anyway).

I made a 60fps demo here, showing off @AnTi offset in combination with attack angle, and a little bit of barrel rotation.

Hi! I’ve just pulled your offset changes on top of an up to date branch and played around with it. You can get some pretty neat effects in combination with smudge:

I cannot seem to get the “rake lines” generated by this to be proper lines though, no matter how high the amount of dabs; dabs are still visible as dots if you look closely, which is especially visible when you don’t use smuge. I’m not sure if that’s my inexperience with brush settings or a code limitation. But either way, it think it’s a great step towards bristle brushes, which I would love to have.

1 Like