A GSoC proposal to work on a canvas with realistic color mixing

JL VT pentalis at gmail.com
Sat Mar 20 07:32:10 CET 2010


Greetings everyone, Krita developers and users.

My name is José Luis Vergara, but I prefer to be called Pentalis, as I couldn't
complain about the other name when I was born  :-)
I'm a native inhabitant of Chile, who enjoys the pursuit of knowledge and arts
of all kinds. I am about to become a chemist, and currently I am enrolled in a
post graduate program in my alma mater.

I learned of Krita when I first read news on its new realistic color mixing
tool based on Kubelka-Munk's theory, developed by Emanuelle Tamponi. At the
moment I was interested on a FOSS alternative to Corel Painter.

I've had a life long interest in the visual arts, but for years I have only
used traditional materials to paint and draw. I have found that in general,
art produced digitally tends to lack texture and detail that is most common in
traditional art. To me, specially in regards to coloring, producing a work of
comparable quality to traditional media, with digital tools, is exceedingly
difficult.

Take the following for an example:
(warning, large images, ~2 MB each)
The Dragon Cave replica (original by Keith Parkinson), made with 16 color
pastels and 12 colored pencils, on paper:
http://pentalis.org/Dragon_Cave_process_scan_1_by_Pentalis.jpg
http://pentalis.org/Dragon_Cave_process_scan_2_by_Pentalis.jpg

(not so large image below, ~500 KB)
Recoloring of someone else's lineart, made with The GIMP 2.6.8:
http://pentalis.org/Starsoul_ID_pale_by_Pentalis.png

In The Dragon Cave, I managed to achieve much texture and detail with second
hand materials meant for young school students (pastels and crayons).
In Starsoul ID, made with The GIMP, it took me 20 hours of work to achieve a
decent amount of texture that didn't amount to "flat and plastic". In
addition, the background wasn't made from scratch as it's clearly a
manipulated photograph. The scales are a reuse of The GIMP's leather pattern.
All this difficulty to achieve a level of texture and detail which is inferior
to easily acquirable traditional materials.

Coloring was really difficult due to the lack of good color mixing, something
that resembled real life. The only advantage of working digitally, I'd say,
appart from not having to scan the image, is that I could achieve a larger
gamut of colors and didn't lose saturation, on top of being able to freely
manipulate colors on the finished piece.

The previous was a summary of my griefs with most digital painting tools, of
which the greatest are:
--The lack of texture in painting.
--The lack of realistic color mixing.

Now that Google's Summer of Code 2010 has arrived, and the hardest part of my
education has finished, I finally have the chance to put all my effort on
dealing with one of those griefs once and for all, not just for me but for all
other digital artists who use free software, like me.

I'm aware that work has already been done on implementing the Kubelka-Munk
formula in Krita (which allows for realistic color mixing to be done within
the digital canvas). My vision is to consolidate that work into a seamlessly
integrated "realistic color mixing" option for the canvas in Krita, such that
whenever the user wants, he can switch from additive mixing (the default and
only option in most programs) to K-M based color mixing.

Ideally, much more customization should be possible, but for the sake of
realistic timelines, I believe just the option of switching color mixing
behavior for the whole image with a single and accesible control is more than
enough to solve the problem of realistic color mixing (I know it'd solve it
for me).

For the record, I've never contributed code to a FOSS project before, but I
have worked on a few personal projects.
I don't like to show unfinished work (The Dragon Cave is actually finished
somewhere, so it doesn't count :-)  ) so the only thing I have to show is my
dice roll probability analizer, the Analizator:

http://pentalis.org/Analizator.cpp

The program pretty much explains itself once you open it and use it, so I
encourage curious people to download and compile it. I know it compiles in
Windows and Linux, but I lost the Windows binaries  :S  so I can't provide
them here.

That's all I'll say for now, as I don't want to exhaust anyone with so much
text.
I'm looking forward to feedback and comments by anyone interested.
If you believe there's something more meaningful I could do for Krita for this
year's GSoC, please tell me. Although you know my bias is with this
feature  :]


Best wishes to everyone.


PS: I have good sense of humor, jokes of any kind are most welcomed, although I
may fail to get them sometimes!.


More information about the kimageshop mailing list