How hard is to implement a diferent Brush Engine?

I have read that the brush engine of MyPaint might be added to Pencil2D.

I was wondering if this is truth. can somebody tell me?

I really like this idea, but I am not sure if adapting that brush engine would mean that we would be able to paint our animations with a more sophisticated tool(?)
If this is correct, Pencil2D would be to my understanding the free version of TVPaint… and that would be the best thing I was wonder to find inside a program. Not so expensive and not so complex as TVPaint, still a wonderful application.

If that is possible for the developers, I would agree doing so. but this is me of course.
I like ArtRage, which is a soft for painting similar to Painter and not long ago I asked on the AR´s forum about the possibility to add a timeline to the program, with basic onion layers… all this because I love to paint while drawing and the two features inside one program is a Whhoo for me. (does anyone agree?)


Well, I don’t know about the code stuff; but concerning the comparison to TVPaint, I think Pencil2D should not try to be a clone of it.
As we already discussed, I think it should be a simple & light soft to make quick and effiscient animations. I know TVPaint is really great, but I think it IS too complicated at first sight.

Pencil2D should be a software that allows you to create an animation the first time you open the software (well, if you have some basis about animation on computer); I think that it was the idea of Pascal (the original developper).

That’s why I prefer your comparison to ArtRage !

(but it’s true that Artrage have a lot of good brushes, so why not discuss about that !)

Since MyPaint is my favorite painting application ever, and considering there is a new animation fork (dopey) of an animation fork (xsheet-mypaint) of MyPaint, I’ve been watching that in addition to watching pencil development.

I love the way pencil handles frame creation and modification, playback, basically everything concerning the animation side, but its drawing tools are currently very basic compared to mypaint. There is a lot about MyPaint’s brushes that i don’t bother with personally, though…i’ve found a few brushes i like and have stuck with those, not bothering to tweak them individually. I use the hotkeys to change brush size and opacity.

I’m guessing Pencil drawing development will continue to improve.


As far as using the actual mypaint brush engine i don’t know…it’s Python and Gtk, where Pencil is C++ and Qt…seems that might present a problem.


Thank you for your comments! :slight_smile:

I thought MyPaint was C++ as well… Upss

But at the end, I am thinking for myself also, it would be really fine for an animation software to have a versatile brush/paint engine. Not like TVPaint or ArtRage and not a basic one.

That would improve the quality of the final animation render

For example Digicel FlipBook is told to be a good animation software but I find its paint and brush features tooooo basic for that kind of called professional software. I believe with a little more improvements inside the colour engine of Pencil, it is going to surpass FlipBook. The intention is not to be a painter soft nor to be better than X or Y but to improve as the 2D animation soft all around the world needs to do it for better consistence and approval amount professionals. My idea of course. Of course Pencil is for animation, so there is no need to have any colour panel after all (?).

By the way, I was almost sticking with PAP for good, but I realized that I would rather to have a soft with a very basic paint capabilities than do not have one, as PAP. It is a fantastic software. It is certainly a professional tool, better than FB in terms of sketching and animating rough and very fast… But the completely lack of colour made me think and I reconsidered to stick once more with Pencil. Also because I am hoping that one day not too far away (before I died :slight_smile: ) I would have the join of playing and painting with Pencil.
These is why I am so enthusiastic in testing it for I want that time to be as shorter as possible :slight_smile:

I will follow your suggestion Gordie, and I will discuss about AR brushes and colour features with the developers after they have settled a more stable Pencil2D build.

Keep the good work!


Some of you know me from; for the rest of you, I was a contributor to Pencil until my commercial ambitions came into conflict with Pencil’s being GPL. (The lawsuit around VLC’s iOS app made me extra skittish!)

Anyway, I’m still a huge fan of Pencil and continued to communicate with the developers and then the community because I want to see it succeed. Right now I’m devoting my development resources to building up my own company, developing an animation suite as in-house IP and contracting for my clients (major, major project), so I won’t be forking and contributing to Pencil. Yet. However, when I was researching brush engines, I looked into MyPaint and brushlib in some depth, so let me share my findings.

First, MyPaint implements its brush engine as a somewhat standalone library called brushlib. It’s used in multiple applications, including (allegedly) Krita and Pixelmator (perhaps an earlier version). MyPaint consumes brushlib in Python, but brushlib itself is written in “object-oriented C”—that’s right, C, not C++. There are no classes in the brushlib code; objects are passed around as arguments to procedural/imperative functions, and state is managed somewhat globally.

brushlib could be integrated into Pencil, but it would be a fair amount of work. I never looked at MyPaint’s Python code that used brushlib, so I didn’t see the idioms/patterns of consumption. You’d certainly want to wrap it in a QObject-based component, so the rest of the system can interact with it via signals and slots.


brushlib is actually an interesting system, and would be a powerful addition to Pencil. It would even dovetail with Pascal’s vision of an application that could expose multiple workspaces for different tasks, from pure drawing/painting to animating.

Hi @oluseyi_s ! It’s very nice to see you here, sharing your thoughts !

By the way, talking about brushes, I don’t know why exactly but I really like the style of this rough :

CellPhone from bj crawford on Vimeo.

Some months back, I did contacts its author to know which software he used to make it… He did reply me that it was a software that belongs to the company he works for.

Of course, he is a very talented animator…

If Pencil would allow me to have such a “render”, I would be so happy !

@oluseyi_s :slight_smile:

I am glad that you pay attention to my comment.
In reality I think it is kind of a hard work, as you already mentioned, to implement such idea of a better paint/brush engine into Pencil.
It is an idea to be considered, though, and if the future allows more developers will became interested in Pencil2D, it would be just a matter of getting in touch to each other developer, raise some kind of financial support for their work and start doing it: improving those tools already implemented on Pencil, a better brush/paint engine, a better timeline workaround, a better transformation tool, a better export/import features…

Well, as I am not a programmer I know it is kind of fantasy to try to request something new for Pencil because we, lacking skills on programming, do not know what it is possible, and what it is not, what means a hard work to do or an easy task… etc.

But as I always believed in real life, we are like little child wanting to play our favourite toy, no matter if we are young or old.
I just wished I knew programming

keep animating!

The author of that animation uses FlipBook.
Maybe, it is my thought, if FB had an interesting colour brushes engine, bj crawford would have tried to paint his animation !..

@kaiko : THIS flipblook ?

How do u know ?

Thanks !

Yes, it is !
Here a quote from himself:
"… Then I scan the final drawings into Photoshop, using a peg bar on the scanning bed or a batch scanner that reads the pegholes and lines them up for you. I tweak the contrast and import the frames in Flipbook.

• Finally, I export a test from Flipbook."

For those who would like to see its interview, here it is

IF, if…if Mr. bj crawford would had made all his wonderful rough animations using Pencil2D there would certainly be a lot more attention to the soft, no doubt about that.
And no one would have also noticed it was made using Pencil !

Hey @geordie :slight_smile:

@kaiko: I don’t think there’s anything wrong with hoping to integrate brushlib some day, but I think the near-term focus should be on smaller improvements with more immediate benefits. brushlib is a very sophisticated, very complex brush engine that is capable of a wide range of rendering results. Pencil would be well served, though, even by a simpler engine that gives a better “feel” while drawing and produces consistent cartoon results—smooth lines, regions of solid color, etc.

You can think of them as short- and long-term goals. In the short term, just improve the way Pencil draws. In the long term, possibly integrate brushlib.

about myPaint brush engine:

… and better performance (rendering engine)

I think you are absolutely right when you say that the mayor priority is to polish the very new features and improve to a degree the tools already presents inside Pencil.

Let us send Energy to our developers !
(…they may ask for a pizza as well, as said before)

Hi @Jose,
Nice information!
Do you know if Windows has kind of Virtual_Linux_to_PC soft’ I would like to try My Paint under Windows.


MyPaint is available for Windows, 32 & 64, but only 1.0 from the official site (there seems to be some build issues of some kind with 1.1). There is apparently a dev snapshot here, although the packager himself says there are lots of problems with it.

Version 1.0 should be sufficient to give you a very good feel of the program…it just might be slightly slower, and it’s missing a couple of very useful features that were added in 1.1.

No I don’t @kaiko

@mikshaw answered using my words, thanks.

Regarding brushes, I didn’t try to compile the source code. It seems a bit complex to “cook” and requires a whole bunch of time to learn the basics.

I have no idea how it’s done but it’s not easy: wiki.mypaint explains it’s a C++ dialect with python generated C for settings while git repository shows brushlib C files -> as oluseyi said, thanks @oluseyi_s.

I think it’s interesting, very interesting but given the number of developers * the time they have + the fact that myPaint developers, for any reason, stopped compiling new versions since 2011, it seems very risky, or not?

Here you have another technical link, not clear enough but interesting for programmers, especially the pseudocode part, at the end:

And the following code seems a good start for being well commented:

I sent them for future references, who knows!

I agree with Cirus (@jose) that it seems risky. More importantly, I’m not sure it’s of enough specific benefit to Pencil. To my mind, the general animation drawing process is Sketch ⟼ Ink ⟼ Paint. The paint phase doesn’t have to be done in Pencil; you can export an image sequence of your cleaned up, “inked” frames and paint them in MyPaint or Photoshop or Painter. A fast, fluid and precise sketch pencil and a solid set of inking brushes are what an animation tool can’t do without, in my opinion. You don’t need brushlib to implement those.

Put integrating brushlib on the back burner for now, I say.

Hei @mikshaw and @Jose,
thank you for your answers!

Well, I thoguht about this and I am willing to give a try to the last version of MyPaint. I have heard that there were big several issues concerning the windows version, so I search the Net and found out about Oracle VirtualBox.

I have already installed it and followed the whole process as described by them, but I got the following error. A black window with an error message.

Does anyone know what this means?

@Jose, I saw the references and links you have provided us, and let me tell you, that that just made up my mind that programming is a hard, hard work to do. I really thought that it was kind of learning some line code, and technical language, like when I once tried to build my own site by learning HTML, etc… I was doing pretty well after a few months… but for this thing of programming I was told that it could take 7 years to reach a good level of understanding, more or less like @oluseyi_s, for example :slight_smile:

It is far more profound…
Requiescat in pace brushlib :), requiescat in pace

It looks like it can’t find the ISO, or the virtual machine if your linux is already installed, so it’s not booting. Make sure you set the “storage” option to point to the correct file.

While looking at options for mypaint on windows, i saw one person suggested a Ubuntu-based version of puppy linux, which is suposed to be compatible with Ubuntu packages, but is really small and light compared to the full Ubuntu distribution. You could try that as a live system, either booted directly by your bios, or in Virtualbox.

i suspect you could either apt-get install mypaint, or you could try the puppy-specific mypaint package

Keep in mind I’ve never used Puppy or Ubuntu, so i can’t tell you much in the way of specifics.

Oh Thank you!
I will have a try now and see if I get it right. I will tell you latter

i was just trying Precise Puppy ISO in Virtualbox, and it booted with no trouble but the cursor is way off…i’m not sure if i can fix that. I may try to boot it as a liveUSB (i don’t have any CDs), but not sure i want to bother tonight =o)

EDIT: another thing about Virtualbox is that there are also virtual machines pre-made for it, which is how i run most of my virtual boxen.


I wonder how difficult it would be to just add a few more paint brush tools… like a blend/smudge. A blend could fit right into Pencil’s basic brushes - you pick up paint and blend with the color underneath at mouse down. Is that feasible? I like Pencil because it is simple and yet does the job well. I’ve tried other animation tools and found them too filled up with stuff I will never use, and too complicated for an old dog like me. I don’t need a gazillion paint tools - but I would really appreciate just a few to enhance my drawings.

Thank you,