The Graphics/Drawing Problem

I don’t know exactly what I’m proposing here. But we have a huge problem. The graphics rendering, the brushes, and all that… it’s got problems right now. Matt and feeef have done a good job, but Qt definitely seems to have limitations.

I think we need to implement some other library, be it libmypaint or something else (I don’t actually know what other options there are, though I’ve looked). I realize this has been discussed and has not worked out, but I think there needs to be more discussion about it. I’m very concerned that this is just going to get put off and put off, and we’re gonna fix a lot of bugs but still have a crappy drawing interface.

So yeah, I guess what it boils down to is - I think we need to discuss this further. It would be good to find alternatives to libmypaint in case it doesn’t work out. And I think we need to decide if and when we’re doing this.

I’ve been thinking about this all night and I was thinking maybe we could make a fork or branch of Pencil2D which does the following:

-implements libmypaint or some alternative

-temporarily removes vector support for simplicity’s sake

-makes the drawing interface better

But before I even start on this, I want to make sure we’re all in agreement about using libmypaint and that nobody has found a better option since feeef’s experiments with it.

Hallo @Nick, I know nor Qt nor libmypaint.

I think it would be better re-thinking the main purpose this software could be made to.

Should Pencil be another open source Flash-clone (like Synfig Studio or Tupi 2D) ?

If so, in the current state, it seems poor enough.

I could think that rejecting previous work made by @feeef, @Matt and other contributors here is not a good thing.

my two cents

Tiber

 

P.S: Excuse my bad English, I am Italian mother tongue

I wasn’t exactly thinking a flash clone. I don’t think its purpose needs to change, but I think it would be good to add more customization to brushes and allow for things like pixelart.

Also, Synfig is very slow and heavily vector based, and Tupi seems to be dead.

I don’t believe we should reject anyone’s work, I do not think it would be my place to do so, seeing as feeef and Matt have done far more for Pencil2D than I ever have. We would be keeping everything roughly the same in terms of behavior, it would just be more flexible due to a better brush engine.

First of all, there’s kind of a design document that Pascal Naidon, the original developer of Pencil did. Must read:

http://www.pencil2d.org/2010/06/the-vision-for-pencil-by-pascal-naidon/

I’ll quote here what I answered in the Github discussion as I think it is directly related to what we’re discussing:

@spark and @tiber QT Creator is just a builder app. It’s a fancy IDE tool for writing and organizing C++ files as well as assisting with the GUI creation, but that’s it, you could edit the header files independently with a different IDE you’re used to.

There might be some QT libraries that assist in the creation of the graphics and stuff, but to be honest it’s not that different from making your own graphics library to handle message boxes or text. If you’ve ever used python it’s like using TKinter or wxpython. They all have different ways of handling things but the structure of the program only changes slightly.

The mypaint library is just that, it’s a third party resource that François (and many of us) thought could be linked to work with Pencil so we could get rid of the lousy bitmap algorithms that Pencil has, and not have to rewrite all of it to have a competent drawing capability. The weird graphic algorithm predates the current Pencil2D effort so it’s not anyone’s “fault” lol.

Anyway I really think, that aside from making a “clone” tool, we as a community should focus on creating a simple yet powerful animation tool that serves as Broadcast / Webcast & Feature Film paperless-animation software. Perhaps the only one of it’s kind in the open source realm. Right now, it’s capable of being used for that, but it needs a small push to stop trying to pretend that it is a clone.

Flash was nice because it was easy to “jump-in” and animate, but if you want a replacement we have Synfig for that. Synfig is powerful and has a lot of features, but it has many quirks that hinder, in my opinion, the animation workflow overall. Tupi is not dead, but rather there’s only about 2 devs working on it. Gustav who is the lead, and some other guy. It is also heavily based in vector drawing, and the bitmap is not really working at the level that you require for paperless animation, just recently due to a half-succesful kickstarter he managed to make a windows version at the beginning of the current year.

I think we may have to make a new design document that not only echoes the original one by Pascal, but integrates new concepts we deem fit to optimize the new Pencil.

Once again guys thank you for taking the time of revieweing the source and helping out! I think it’s been months since anyone new got interested in the project! :smiley:

I certainly don’t think Pencil2D needs to be or should be a replacement for Flash. Personally, I envision it someday being just a versatile bitmap editor and animator, which could certainly take inspiration from Paint.NET and Krita and Flash but ultimately be something completely unique.

But that’s just me.

In any case, I think it would be good for us as a community to decide if and when we’re going to implement libmypaint, because, like I said initially, I’m very afraid it will just get put off.

Well, I agree with you: a bitmap editor and animator … it can make the difference.
I remember, as I’ve said, the old Autodesk Animator Pro in last nineties (It was last century, I know ;-))
Today, its heirs are Cosmigo Pro Motion (a Dutch commercial software), Aseprite (open source) and Grafx2 (open source too).
It’s not a put off matter (anyway, it’s not quite my purpose) I see a new challenge to do more and better, instead.

You know, the main challenges with raster/bitmap graphics are two:

  • the huge size of files;
  • the critical constrain about scaling images without revealing pixels.

We need to find a solution and some tips to these main issues.
And finally to get a first stable basic version of Pencil.

I am happy to restart a new discussion about Pencil and maybe a kind of brainstorming on line for new ideas. Its forums are still alive and kicking.

Actually, I don’t think the current bitmap brush engine is that bad. The pencil tool is now quite well simulated in my opinion, the brush tool is efficient, opacity works, there is a color selector tool and an eraser… What more do we need to draw pencil like animations?

I agree with the fact that a great brush engine would enhance this application very much. I spent a lot of energy on promoting and trying to implement it myself but I think that things have to be done in the right order to be efficient.

Pencil is already a unique animation app with its current features in the free / open source world. It already has many great features and in my opinion, we should focus on fixing all these features within the current code in a first step. We would have a first usable version of Pencil2D and we would start getting some interest and build a real community of users / developers.

The second stage would be to refactor the whole application to be more flexible, easier to maintain and update. At this point we would get many users feedback and we would have a better idea of what are the right improvements to be made. In the free/open source world things are made by the people for the people so getting users feedback is a required step before going too much into new features.

When the users community will start to be quite important, we could even think of doing a crowd-funding campaign and finance some devs.

It is the way I would go anyway.

“What more do we need to draw pencil like animations?”

Well, that’s the thing. I’d like to be able to do more than that. It does what it does fairly well atm, but it just doesnt do much.

However, I think you’re a better programmer than I, and if you believe that it would be better to fix bugs and such first, then I will trust you :slight_smile: