If we had to give a theme to this release, it would be textures and patterns. This was half by coincidence, one of our GSoC students this year focused on getting SeExpr integration going, one of the mentors decided to work in the same area, and two volunteer contributors also came up with pattern and texture related features.
This release brings a lot of updates and changes to fill layers.
Multi-threading for fill layers
Fill layers can now make use of multi-threading. This means that if your computer has multiple cores, Krita can subdivide the calculation work for making fill layers between them. This makes fill layers a lot faster.
Transformations for the pattern fill
The different pattern transforms possible now.
The patterns of fill layers can now be transformed, allowing you to amongst others, rotate the patterns. This has also been implemented for the shape drawing tools and the bucket fill, and had been long on the to-do list.
A new fill layer option specialized in filling the whole screen with dots, squares, lines, waves or more. This fill layer allows you to quickly generate the simple pattern you need on the fly, which is very useful for those doing comic book illustration or similar highly graphics styles.
This filter was inspired by the next item on the list…
Amyspark’s Google Summer of Code project, the integration of Disney Animation’s SeExpr expression language. SeExpr is in effect a tiny shader language that is used by Walt Disney Animation Studios itself to generate textures and materials on the fly for their animations. Within Krita, this allows you to code your own fill layers. We’ve also tried to come up with a good set of defaults to work off from and included them.
Following the addition of the lightness mode in 4.3, this release sees another round of features for the brush engines.
Top stroke: using a combination of the new lightness parameter with the mix parameter.
Bottom stroke: using the texture strength parameter to mix gradient mapped brush tips and textures.
Gradient Map mode for Brush-tips
If lightness mode is not subtle enough for you, you can now also use the global gradient to color a brush tip. Especially useful with small repeating objects like flowers and leaves.
Diagonal selection lines in MyPaint color selector (Shift+M)
Diagonal lines allow modifying lightness and saturation of the currently active color at the same time.
Diagonal lines in MyPaint Color Selector (Shift+M)
Support for dynamic use of currently selected colors in gradients.
While Krita had support for the GIMP Gradient format, we never supported the dynamic changing of gradients based on the current fore and background colors. Nor did we do so for the layer styles. This has now been added. Several of the bundled presets use the foreground color to easily create sparks, haze and other effects.
Little sparkles added with the ‘GPS glare’ default, different colors are a different foreground color.
While most of the animation work is happening in master and will be in the next big Krita release, some choice features have made it to 4.4:
WebM/VP9 preset for Animation Rendering – Based on a request for a web friendly rendering preset.
Compositions Docker now allows for the exporting of Animations – Requested by animators, the compositions docker allows for saving and loading layer visibility configurations. This adds the ability to setup animation renders for these configurations.
GDQUEST Batch Exporter add-on
An exporter for batch exporting the layers and positions from Krita. Made by the folks over at Game Design Quest:
Python plugin Channels to Layers
By Gwendal Blanchard, this plugin allows you to quickly separate the image channels into layers.
Return list of available dockers for application in python
To learn about the new scripting APIs, or learn how to script with Krita in general, a new website was made to assist. It is broken apart into various sections of what scripting can do.
Make Ctrl+C/X/V shortcut work with layers when there is nothing else to copy – Krita can copy pixel data, vector objects and whole layers with blending modes, frames, child layers and other properties. Previously, Krita would only try to copy pixel and vector objects if these were selected and otherwise not copy anything. Now, Krita will copy (or cut) the selected layer if nothing is selected, making it a lot easier to copy and paste layers between files.
Basic Reapply Filter with Prompt. We already had ‘Reapply Filter’, but some filters have configuration dialogs that you might wish to change. This function allows for exactly that, and can have a hotkey assigned for quick access.
Update default layer name to show type – Krita used to give layers names like ‘layer 1’, ‘layer 2’, regardless of layer type. Based on artist feedback, we’ve now added the layer type to make it easier to tell what kind of layer was made.
Add ‘selection as a border’ option to the Fill Tool – In some graphics software, the fill tool will treat separately selected areas as separate areas to fill. We’ve added an option to the fill tool that allows this in Krita. It is a little slower, and therefore off by default.
Fix undo breakage after converting a pixel selecion into a vector one (Bug 411394)
Add a workaround for boolean operations on shapes (Bug 411056)
Fix Move Tool to work correctly with Instant Preview (Bug 400484)
Add antialias to the gradients in the cases they showed jagged borders (Thanks, Deif Lou)
Make the color labels combobox nicer in Tool Options
Fix layer’s bounds extending when painting outside the selected area (Bug 394439)
Disable doing bitBlt outside extent when alpha channel is locked (Bug 394439)
Fix moving local selection mask created from global selection (Bug 411802)
Fix the _other_ place where the lorem text was used(Bug 421663)