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