Drawing tools various issues

I am playing around with the drawing tools and I would like to give a note about them.

At the moment the PENCIL Tool is lacking depth colour on every stroke. It has some kind of “Feather” attached to it, even despite the Pencil Tool has only a PressureControl on the Options Panel (not a Feather)

I barely remember @feeef mentioning he was going to do something with it, not sure about it)

It is very hard, at least to me using my huion tablet, to be pleased with the dimmed colours surrounded the Pencil strokes. Even despite it is pressure-sensitive, I have to push hard against the canvas for a good response

The BRUSH tool is of no good use right now. It clearly shows little straight line’s segments defining a drawing line

Last but not least is the PEN tool. So far it is the best drawing tool. It is so amazingly responsive under the pressure of my pen that I consider it to be even better quality than other similar tool from another paint application (… and this belongs to an animation program! :wink: )

@kaiko I noticed this too in newer versions. The Pencil tool is “stuck” at a certain transparency / feathering setting. I wonder if we should report it as a standalone bug?

Enabling pressure only makes it worse because you have to press too damn hard to get anything out of it.

I’ll have to test the brush tool though. And the pen tool…well It is indeed the best drawing tool so far, but as you might have seen in the #486 bug (https://github.com/pencil2d/pencil/issues/486) I filed this week, drawing responsiveness in general has always been a worrisome feature and has become worsened little by little with each update. However this has been marked as a milestone priority fix, so it will get better in due time :slight_smile:

As I already wrote, I vaguely recall @feeef talking about implementing Feather to the Pencil tool while using the Pressure feature (I am not quit sure though), and it was a time when he was re-working the code in order to get back the traditional feeling of the Pencil Tool to a satisfactory render. But right now it seems that every other work/implementation/update (as you mentioned) to the code behind the Pencil Tool is damaging its performance a great deal

Would you mind to open a report for this bug particularly (the Pencil Feather aspect of it)? I think it is a must for an application like Pendcil2D to have it as a High Priority.

About the latency you have reported, I did also experience some delay of the strokes (Win8.1x64bits)

I set some feather to the pencil tool for it to make smooth strokes. Otherwise we can see the pixels on the edges. I had set some opacity as well because the pencil tool should be a sketching tool and be softer than the pen tool. If this is not working for some of you, I may just add the ability to set these values.

About the speed of the stroke, I will have a look when I have some time. Unfortunately, I have much less time than in december but I still keep some for pencil! :slight_smile:

I like the pencil tool as it is. But for the pen tool, in the vector layer, I want the Bezier points to have the handles, or some feature to adjust the curves of the points. Hope to see this in the future :slight_smile:

@feeef @sumit_makwana Actually allowing the user to change feathering values (brush outline) as well as opacity values there would allow them to roughly mimic sketching with different pencil “lead” types, like 3H, HB, 6B, etc. I think Nick had proposed early on to make a switchbox between aliased (pixelated edge) and anti-aliased brush outlines for the pencil tool so pixel artists could get interested in the program as well for their animated game sprites.

For example some people sketch very lightly (similar to how the tool is setup currently with pressure sensitivity) but others sketch with fully opaque strokes and use the layers opacity to reduce the stroke lightness.

All in all I feel the user should have a choice. Besides we do have different drawings tools because they perform different functions, but the user should be able to customize it to it’s liking, since the software should be as flexible as possible, considering there are ways to work as there are artists out there. :slight_smile:

Also I totally agree on the bezier control point handles, but those should appear when using the finger / smudge tool, since it’s the tool that modifies the location of control points in a vector stroke.


As a side note, I'm even tempted to propose renaming the tools to be honest... something like this:

Pencil = Sketching Tool
Pen = Inking Tool
Brush = Paint Tool
Why? because people tend to get confused since they think they can do everything with the same tool, and when they can’t they blame it on the developers and poor design choices.

If you read the tooltips, it even says “Pencil: Sketch with Pencil” / “Pen:Sketch with Pen” / “Brush: Paint smooth stroke with a brush” Which to me is even more confusing, because that means that there really is no order to which tool I should use. And real artists always use specific tools for specific tasks. Which is why I suggested in another thread to look at Digicel’s Flipbook drawing and painting tools.

This is just an idea of course, but I think we have to make it more evident that there is actually a workflow involved in how Pencil2D tools work , and how those tools are an essential part of the whole animation production process.

I had a look at the stroke latency issue.

I have tried Pencil on a 1.3GHz Powerbook in order to have a look at the speed. If it is fast on that computer, it is fast on any modern computer.

The speed is not too bad but there is indeed a real latency issue.

It looks like the problem comes from a conceptual issue from the way the canvas is being rendered. The size of the canvas affects the responsiveness of the stroke and it is because on every mouse move event we re-draw the entire visible area of the canvas. It is made through the QWidget::paintEvent of the ScribbleArea. This event re-paints the entire widget constantly.

This shouldn’t be made this way. We should instead work on a tiled surface where the rendering process only redraws a tiny square where the stroke is being made at each instant (event).

This is an improvement that could seriously help the implementation of the MyPaint library within Pencil2D. MyPaint is using this exact optimizing concept. MyPaint is very fast on the old powerbook. Even on this old mac, it never outputs a rectangle when you quickly draw a large circle! :wink:

I had started implementing libmypaint within Pencil2D but I gave up because of my lack of knowledge about the render engine in Pencil2D. It is not the case anymore so I now think that MyPaint can be implemented without problem. I had started a MyPaint to QT interface here that can be used for that purpose.

I will add this to my to-do list and will work on both optimization and tools improvement through libmypaint. It won’t be part of the 0.6 release though it will be for 0.7. This one should be a true amazing improvement for everyone.

@feeef outstanding! Thank you for all of your hard work and insights. I’m very happy to hear about this.


On a different note I’ve been talking with different animators who have used Pencil2D, and because of this I’m preparing a compound feature request for several systems that I’ve discussed to improve the animation workflow for other professionals. Once I submit it, I want all of us to discuss it later on so we can set a roadmap of features to come and hopefully implement them all the way towards version 1.0.

If you need any kind of help, please let us know maybe someone can work with you in any way. I could even do basic python code if you’re willing to translate it to Qt C++ lol. Just let us know how we can help out :slight_smile:

Your “renaming the tools”'s idea is just spot on!..
I always felt that I could apply the qualities/features of the Pencil tool to the brush tool with little twist, and viceversa, so it was confusing as you said.

And the brush tool deserves the Paint tool’s name, it is the best one. Nobody will be guessing what it can do :slight_smile:

Fantastic @feeef

I am really happy and delighted. it is like a dream came true… I was always waiting for an application to be sort of TVPaint, meaning animating and painting with the same versatility… So I can only guess that the brush engine from Mypaint is fantastic, and that would invite many other Artist to get into Pencil2D, not only working on animations but in colouring… :slight_smile:

I thought it was not entirely possible to implement it into Pencil2D, :slight_smile:

Well, I am here to help you to take those brushes to work on images inside Pencil2D! :slight_smile:

PD: I have just downloaded the last MasterCode from Github but QtCreator fails to build pencil2D. The same happened from previous MasterCodes.