skip to main content

Urn in a Window
A painting in progress using high bit depth GIMP 2.9, using a workflow that can also be followed when colorizing or split-toning black and white photographs

It seems to me that GIMP is underappreciated as software for making paintings. So this article shows a "painting in progress" using high bit depth GIMP 2.9.

Beginning with Step 4, the same workflow and layer stack used for painting Urn in a Window can also be used when colorizing black and white photographs, and also for toning and split-toning black and white photographs, except that when toning/split-toning normally one would use luminance-based masks instead of masking based on the desired colors for particular objects in the image.

Written October 2016.


It seems to me that GIMP is underappreciated as software for making paintings. So this article shows a "painting in progress" using high bit depth GIMP 2.9. The painting is of an urn sitting in a window in the wall of a small stone or mudbrick dwelling. Section B below shows the steps in the development of the painting.


I think of myself more as a photographer than an artist. But I've been pushing what I do with my photographs towards incorporating elements of painting and illustration, and more recently I've been experimenting with making pictures starting with a completely blank canvas. I started out using Krita for these tasks, but have since mostly (depending on the particular task at hand) switched over to using my patched version of high bit depth GIMP 2.9, for three reasons:

  1. GIMP provides better and more diverse tools for photographic manipulation, and even when starting with a blank canvas, my image-making processes use the same editing techniques that I use for manipulating a photograph.
  2. Default GIMP (as of spring, 2017) and my patched version of GIMP (GIMP-CCE) both provide LCH color blend modes, LCH color picking tools, and an LCH Hue-Chroma tool, which taken together are far superior to Krita's HSV/HSL/HSI, especially when the goal is working separately with color and tonality.
  3. Compared to using Krita, I find it easier to make and modify GIMP brushes and dynamics to suit my needs, though I do wish GIMP presets were as easy to make and modify as GIMP brushes and dynamics.

This is not to say I never use Krita, because of course I do. Krita is a great painting application with many very advanced painting tools that GIMP doesn't have, and whenever someone expresses to me an interest in digital painting, I point them towards Krita. But I also suggest that they try GIMP.

Considerations on the entirely artificial divide between digital photography and digital painting

"Painting" conjures up an image of picking up a (digital or physical) brush and creating the entire image simply and solely by making strokes of paint on a (digital or physical) canvas. I did use a digital brush to paint the urn shape on which Urn in a Window is based, and I anticipate using a brush to paint in the shadows and reflections. But for the most part I've been making the image using the exact same techniques I use when working on a photograph, using Layers, Masks, Blend modes, Gradients, Levels, Curves, and so forth.

Long before the age of digital imaging, indeed starting with the Pictorialists, photographers have incorporated brushwork into the creation of photographic images and explored ways to use the lens and camera to emulate paintings. Likewise artists and illustrators have made and used photographs as an aid to creating their artwork. The same principles of composition, lighting, and color apply to both painting and photography. In the digital realm the principles of color management and general editing know-how also apply to both.

So what's my point? Before digital imaging, there were fairly high "medium" barriers between incorporating techniques of painting and photography into a single finished work, and yet quite a few artists and illustrators found ways to do so. For digital imaging, the "medium" barrier between painting and photography is completely gone. Yet many digital artists and photographers seem to assume there are impassible conceptual, technical, and artistic chasms separating painting and photography. I'd like to see this attitude change.

Digital photographers can learn a lot from artists working in other genres and mediums. Speaking for myself, I no longer find much merit in reading digital photography tutorials. Well, having worked with digital photographs since roughly 2002, I've already read an awful lot of such tutorials, and written a few myself. So hopefully by now I've acquired a good understanding of how to use the basic tools of the digital darkroom.

These days, when I'm working on a photograph and there's a specific artistic problem I want to solve (eg how to make the mountains look more distant, the apples look more round, or the colors look more like evening colors instead of midday colors), I look at works of art made using various physical mediums to see how "non-digital" artists solve these kinds of problems. I also consult books and tutorials on painting using real paints on real canvas, and on making photographs and prints using real film and the "wet" darkroom. These resources are where the artistic problems that I'm currently trying to learn how to solve are discussed. And then (and only then), if I don't already know a digital imaging technique for implementing a solution gleaned from artists working in one or another physical mediums, I look for tutorials on some of the new amazing new algorithms that are being released with digital imaging software such as darktable, RawTherapee, PhotoFlow, Krita, GIMP, and so forth.

Steps in the development of Urn in a Window

Urn in a Window was conceived as an exercise in controlling light and shadows. Light intensity falls off linearly with distance. Also colors only blend correctly in when RGB is encoded linearly. So if you are using my patched version of GIMP, make sure your image is a linear gamma ICC profile working space. For "Urn in a Window" I used "Rec2020-elle-V4-g10.icc" from Elle Stone's Well-Behaved ICC Profiles. If you are using default GIMP, your image should be in GIMP's built-in sRGB color space. sRGB isn't a linear gamma color space, but GIMP (or actually GEGL) does linearize the sRGB TRC as appropriate. Just avoid using "legacy" blend mode (which doesn't linearize the sRGB TRC, and so produces gamma artifacts).

Step 1. Make a sketch of the urn

Before making the sketch, I spent some time studying a bunch of images posted to the internet showing Egyptian urns and jars from various archeological digs. To my eyes my sketch does look vaguely Egyptian, but I'm pretty sure real Egyptian urns always have a mouth that's narrower than the widest portion of the body of the urn.

Make a sketch of the urn.

I'm pretty much incapable of drawing a truly symmetric shape, but Jehan's wonderful Symmetry Painting tool allowed me to draw half of the urn and watch the other half magically appear.

Step 2. Make an outline of the urn from the sketch and establish the shelf on which the urn sits

Shelf? Well, originally I had intended to paint the urn sitting on a shelf in a room, perhaps a library or a study. But by Step 3, I had spent some time investigating what kinds of houses Egyptian peoples were building when they were actually making the urns and jars that have been found in various archeological digs, and in my envisioning of the scene, the room had morphed into a single-room mud-brick or stone dwelling and the shelf had morphed into a window.

Make an outline of the urn from the sketch and establish the shelf.

I established a one-point perspective centered on the top edge of the urn, and used eight guidelines (four horizontal and four vertical) to outline the shelf on which the urn is sitting. The "order of drawing" is as follows:

  1. Draw the urn.
  2. Draw the larger rectangle to establish the size of the shelf.
  3. Draw the one-point perspective lines connecting the midpoint of the upper edge of the urn to the four corners of the larger rectangle.
  4. Draw the smaller rectangle that establishes the back wall of the shelf.

Both the outline and the one-point perspective lines were drawn using Jehan's Symmetry Painting tool, which cut the number of lines to draw in half. As an aside, for establishing anything more complicated than a one-point perspective, almost certainly I would have used Krita's awesome perspective tools.

Step 3. Add some shading to begin establishing depth

An outline is a long way from a painting. The next step is to add some shading to begin establishing depth.

Add some shading to begin establishing depth, and decide that the shelf is actually a window cut into the wall of a small stone or mud brick dwelling.

The screenshot to the right shows the layers that were used to add some initial shading to the image. The shading on the walls of the shelf (that turns into a window in the next step) was made using a linear "foreground to background" gradient.

In the screenshot the "L" values are the LCH Lightness value(s) for the layer. These values were chosen more or less arbitrarily, just to establish some tonal variations to start working with.

In case you are not familiar with using LCH values to choose colors and tonality, L=50 is perceptually halfway between RGB black (R=G=B=0f) and RGB display white (R=G=B=1.0f). As the image is in a linear gamma RGB working space, the corresponding RGB values for L=50 are (R=G=B=0.18149f).

Notice that the back of the shelf looks brighter than the wall. It's not. Both the wall and the back of the shelf are the same shade of gray. But the surrounding darker values of the shading on the sides of the shelf make the back of the shelf look brighter than the wall.

Step 4. Establish the basic color and tonality, and add a desert view through the window

Establish the basic color and tonality, and also add a desert view through the window.

The screenshot to the right shows the layer stack for Step 4. The image colors are composed from the Lightness values from the Tonality group and the Chroma and Hue values from the Color group:

The "Tonality" group is composed entirely of black and white layers that establish tonality, and all but one layer in this group (second layer from the bottom) is set to Normal blend mode.

The "Color" group adds color to the image. The Color group is set to the LCH Color blend mode, but all the layers inside the Color group are set to Normal blend mode. If you look at the LCH values for the layers in the Color group, you can see that the LCH Lightness is set to 65 for each layer. Because the Color group is set to LCH Color blend mode, the Lightness of the layers is irrelevant.

The desert view outside the window (the very bottom layer labeled "desert") is my highly simplified version of a lovely 1893 drawing of the "Pyramids of Ghizeh". Pyramids of Ghizeh was donated to Wikipedia by the Brooklyn Museum and "is considered to have no known copyright restrictions".

Making a simplified version of the Pyramids of Ghizeh seemed like a simple thing to do, but it took many trials to finally come up with the desert view outside the window. GIMP has excellent "Edge Detect" algorithms (that I use one way or another in just about every photograph I process). But these algorithms have no way of knowing which edges of the drawing I thought were important and which were from objects that I wanted to remove. The very excellent Resynthesizer and G'MIC "Content Aware Fill" algorithms failed just as badly as the "Edge Detect" algorithms. So I outlined the objects and lines I wanted to keep using a small diameter brush, and removed the unwanted objects and lines using GIMP's smudge tool to pull in the tonalities of the surrounding areas.

Add lighting from implied light sources

In many ways painting a scene is a lot more complicated than taking a photograph of a similar scene. In both cases lighting is all-important. But in a photograph the lighting is already established when you push the shutter, whereas painters have to decide where the light is coming from. After contemplating the image for awhile, I decided to assume three light sources:

  1. A small fireplace set into the wall opposite the window, to provide ambient illumination inside the room.
  2. A small oil lamp placed just below the window, to provide directional light from below.
  3. Outside in the west (I decided that the window is facing west), late twilight residual light from the sun below the horizon, to provide back light.

At this point the layer stack is getting a bit complicated, so I'll show the Tonality and Color group layer stacks separately. Below on the left is screenshot of Color group layer stack for Step 5, and on the right is the result of making the "outlines" and "Tonality" groups invisible, so all you can see is the Color group:

Left: Color group layer stack. Right: What the color group looks like without the "outlines" and "Tonality" groups.

There are three changes in the Color group since Step 4:

  1. I increased the LCH Chroma and also changed the LCU Hue for the urn from Hue=110 to Hue=133. So the urn is now green instead of yellow-green.
  2. I broke the wall color into two separate layers, to produce a gradient ranging in Hue from just to the green side of yellow (LCH Hue=92) to just on the orange side of yellow (LCH Hue=88), to begin taking into account the effect the presumed fireplace and oil lamp light sources would have on the colors reflected from the wall. I also increased the Chroma.
  3. I broke the sky color into two separate layers to produce a Hue change from a more violet shade of sky blue at the top (LCH Hue=264) to a greener shade of sky blue at the bottom (LCH Hue=250), to emulate natural changes in sky color at the horizon compared to higher up in the sky, and I also increased the LCH Chroma.

Here's the Tonality group, which has been broken into two subgroups, one subgroup for the wall, window, and urn, and another subgroup for the view outside the window:

Tonality group

Above on the left is the sub-group for the desert view outside the window. On the right is the sub-group for the wall, window, and urn. For all layers that aren't using Normal blend mode, I put the blend mode in the layer name. As you can see, I used the Divide blend mode to add light to the wall, window, and urn, masking as seemed appropriate to emulate light coming from the presumed fireplace on the opposite wall and the presumed oil lamp beneath the window.

Here's what the image looks like when showing just the Tonality group without any color information:

Add lighting from implied light sources — showing just the tonality.

Here's the image with the Color group applied to the Tonality group:

Add lighting from implied light sources.

Any artist can point out a whole bunch of things that are wrong with the image shown above. To start with, after adding the implied light sources, the urn is completely disconnected from the shelf, and it's also disconnected from the view outside the window. To connect the urn with its surroundings:

  • The urn color should be reflected by the shelf and the shelf color should be reflected by the urn.
  • The urn and shelf need back-lighting from the dwindling twilight, and the blue color cast of the dwindling twilight should be interacting with the orange color cast of the light from the (implied) fire place and oil lamp .
  • The base of the urn needs to cast a shadow, the shelf itself should be casting a shadow on the urn, and the back light from the dwindling twilight should be causing the urn to cast at least a hint of a shadow onto the shelf.

Step 6. Add reflections, shadows, and back-lighting

(obviously not done yet!) Add reflections, shadows, and back-lighting.

The next step is to connect the urn to the shelf by adding reflections, shadows, and back-lighting, and also darken the desert scene outside the window. So far all the color has been added using solid color layers with masks, but Step 6 will require using actual brushwork. Step 6 is actually the whole point of making Urn in a Window — I want some experience in creating believable shadows and reflections.

Paintings take on a life of their own, such that often one doesn't know the next step until the previous step has been accomplished. But after Step 6 is completed, I anticipate adding some texture to the wall and window opening. And the "urn" might morph into a translucent glass vase or jar so I can play with transmitted light through the glass onto the walls of the window, as well as reflections and shadows.

Conclusion and Notes (in progress)

If you are working in default high bit depth GIMP instead of using my patched version of GIMP, please note that default GIMP 2.9/2.10 is programmed to only produce correct editing results when working in the built-in sRGB color space. This will change in future versions of high bit depth GIMP — you can make "future GIMP" happen faster by volunteering your time and skills!

Also currently default GIMP only allows to draw perceptually uniform gradients, which doesn't allow to easily draw a gradient that mimics the way light intensity falls off with distance. When using default GIMP, here's how to work around this limitation: Make a new image and make sure it's at "Perceptual gamma" precision, assign to the new image a linear gamma version of the sRGB working space ("sRGB-elle-V4-g10.icc" from Elle Stone's Well-Behaved ICC Profiles), draw your gradients, and then convert the image to default GIMP's built-in sRGB color space. Yes, this is a bit inconvenient, but hopefully this can be fixed before GIMP 2.10 is released.