GSoC starts, but what’s up with GIMP?

GSoC starts, but what’s up with GIMP?

This monday work on Google Summer of Code projects has officially begun. Some students actually make an early start, and this year GIMP students are one of them.

That sounds like a nice excuse to have a look at what's been happening in the project since 2.7.2 release a month ago.

So, what's up? Is the team making any progress? Why, yes indeed. While most of the work is under the hood and isn't user-visible, there are few quite worthwhile changes.

First of all, you can now add and remove vertices from the cage in the new Cage transform tool. That is, if you made a too fast judgment, you don't have to redo the cage from scratch: just hover the line between two vertices and click to create a new vertex, or select vertices you don't need and press Backspace. Here is a quick demo:

Next set of changes improves file formats support. Layer groups can now be read from PSD, and when saving to PSD, color profiles are embedded. Additionally, blending modes are supported in OpenRaster files now.

A very small yet useful for some web developers extension is a new Python plug-in to save currently selected gradient as CSS gradient. It saves both canonical linear-gradient and browser-specific -moz-linear-gradient and -webkit-gradient.

GEGL also got a bit of work. Apart from re-enabled cached rendering there are several new operations in GEGL now. The first one implements vignetting:

Vignetting with GEGL

In fact it is darktable's vignetting with some changes: you can choose the color to fade to (darktable only allows black and white), and you can also rotate fading. The rest of the control are the same: position of the center, softness, vignetting shape etc.

Next two new operations implement Laplace and Sobel edge detection. The picture below shows the latter. Both ops were created by Google Summer of Code student Victor Oliveira.

Edge detection with GEGL

So let's talk about Google Summer of Code finally. As I already mentioned, some of the students decided to do an early start. So here is what it looks like for all of the five projects.

  • Michael Mure has been actively working on his project to implement iWarp filter (similar to Liquify of Photoshop) as interactive tool. The work is happening in two branches: the GIMP branch has the actual tool, and the GEGL branch has a new operation to do computations.
  • Victor Oliveira has also been actively working on OpenCL support in GEGL. He started few weeks ago and hence already has some very basic things done, including a crude port of gegl:over operation to OpenCL. In the end GEGL will automatically enable or disable OpenCL support depending on drivers for your GPU.
  • Barak Itkin is in talks with Peter Sikking, project's usability lead, about best ways to implement adaptive cloning at the moment. So perhaps the public code will have to wait a bit. But the library that assists computations has already been ported to C by him before the official GSoC start.
  • Enrico Shroeder is currently at design stage re his project for rewriting GimpSizeEntry widget. He also made an early start.
  • The fifth student, Robert Sasu, also started working on his project already.

All in all, it looks like we are going to have a rather busy, eventful summer :)

Was it useful? There's more:

1 Responses. Comments closed for this entry.

  1. Many thanks for this summary. :) Very interesting article. ;]