albertoefg

Blog About Contact

My Project for Google Summer of Code

Introduction

I was accepted to Google Summer of Code and now I need to start planning and doing research to help the best way I can.

My project is an Animated Vector Brush (AVB) for Krita. This might not say much, so allow me to explain what my project is and what are my objectives.

What is an Animated Vector Brush

Animated Brushes

If you ever used Krita or Gimp, you might have heard of the GIH brushes (Gimp Image Hose). This type of brushes allow for multiple images to be stored as a single brush. Every stroke you paint will give you a different image, giving the feeling they are "animated".

Problems with GIH

The problem with GIH brushes is that they are saved as raster images, so if you are an artists you might face one or more of the following problems:

Animated Vector Brush

Vectors, unlike raster images, are not composed of values of pixels, but rather they are a mathematical description of a shape, and as a formula they can be resized to any shape you want.

The best example of vector image format is of course Scalable Vector Graphics or SVG, this format is just an XML text file (perfect for git!), and you can even write SVG by hand.

SVG has a <symbol> element, which is a container element to define template objects, good for creating a library of shapes to be used in vector graphics design, or, in this case, to be used as a format to store brush tips which Krita will understand.

It is worth noting that my project does not intend for this SVG brushes to be used as vectors, they will be rendered to raster images to paint in a regular Krita layer.

Benefits of this project

I think this will benefit Krita and digital artists because of a few reasons:

Call for help

I am not an artists, but if you are, or you just enjoy using Krita, I would greatly appreciate your feedback because I want to make this tool as useful as possible for all the Krita community.

If you want to send me your thoughts, have questions or comments, please contact me.