Whither Krita?
Cyrille Berger
cberger at cberger.net
Wed Sep 16 12:34:36 CEST 2009
On Tuesday 15 September 2009, Boudewijn Rempt wrote:
> > So far Krita is development platform for me as I can test many algorithms
> > in it.
>
> That is something you and Cyrille have in common at least :-)
Yes, and I want more people to see it that way, I will now dissert on that,
and do a bit of commercial advertisement for some of my recent work :)
On the lack of developers, I will note that the core Gimp development team
isn't much bigger than ours, but they do have a more broader range of skilled
person (UI designer, documentation writers, etc) that we trully lack. What
they have, though, is many developers contributing a single plugin/scriptfu,
see their plugin registry [1]. Using the advanced search of the site, it's
possible to do some statistics, they have around 371 plugins, 274 of them are
scripts, of the 97 remaining plugins, most are plugins written in C but some
are collections of scripts or are a binary for a C plugins. But the important
thing is that 73% of extensions are not written in C.
I don't have statistics for Photoshop, but one of its most famous extension is
the "Filter factory" [2], introduced in 1994, it allowed to write plugins with
only very limited knowledge, for instance for the invert filter you just have
to write:
r: 255-r
g: 255-g
b: 255-b
a: a
I have no idea how many filters were created using "Filter factory", but when
you google for them you can easily find collections containing hundred of them,
and you can even find a gimp plugin to execute those filter [4] (and I have a
TODO item to make a FF to Shiva converter).
More recently an other similar plugin was released "Filter forge" [3], you
make your filters using a graph interface, if you go to their official website,
you can see that more than 3000 filters were made with that tool !
I think, you understand where I am going to. C/C++ are too difficult for many
people, especially for artists, that would most likely want to download a
sample somewhere, modify a few lines and then apply it.
This is what motivated me to create the scripting plugins for Krita 1.5. At
that time I had hope it would be fit for every tasks, including writting
filters. But because I couldn't make it fast enough, I decided it wasn't fit for
the job, and that we would need something else, something specialized in image
processing. That's when I got interested by AMPAS CTL, and later by the Hydra
language (now called pixels blender [5]). And started OpenGTL.
So my vision for making Krita easy and fun to extend:
* scripts (ruby/python/js): extends the UI (new dockers), allow to create
chains of effects (ie blur, then translate, then change color, or draw a sky of
starts)
* macro to create chains automatically or using a GUI
* CTL, to write colorspaces, brushes, composite ops, single pixel operation
* Shiva to write generators and filters (and maybe later composite stack, etc)
* graph based filters (not really started)
My main mistake in implementing that vision is that I attacked too many of
those tasks at the same time, to my defense, the scripting plugin in 1.6 was
quiet good, but it didn't survive the port. So in 2.0, we had hybrid CTL/C++,
in 2.1, we will get CTL/XML color spaces, shiva filters/generators and macro
recording of filters.
For 2.2, I will keep building on that vision, and adding things as time goes.
[1] http://registry.gimp.org/
[2] http://www.thepluginsite.com/knowhow/ffpg/ffpg.htm
[3] http://en.wikipedia.org/wiki/Filter_Forge
[4] http://registry.gimp.org/taxonomy/term/363
[5] http://labs.adobe.com/wiki/index.php/Pixel_Bender_Toolkit
--
Cyrille Berger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20090916/b55ba59f/attachment.htm
More information about the kimageshop
mailing list