GSoC/2020/StatusReports/LeonardoEmanuelSegovia: Difference between revisions
Line 11: | Line 11: | ||
The goal of this project is to let artists create dynamic content through a new, scriptable Fill Layer. To this effect, I integrated Disney Animation’s SeExpr expression language into Krita. | The goal of this project is to let artists create dynamic content through a new, scriptable Fill Layer. To this effect, I integrated Disney Animation’s SeExpr expression language into Krita. | ||
=== | === Components === | ||
This project is divided into the following objectives or goals: | |||
* | * SeExpr-based Fill Layer generator | ||
* | * Creation and management of SeExpr scripts | ||
* Integration tests | * Integration tests | ||
* User documentation | * User documentation | ||
Side goals included: | |||
* Feature support status across all our platforms | |||
* Multithread support for Fill Layers | * Multithread support for Fill Layers | ||
* ARM support for AppImages (including this | * ARM support for AppImages (including this project’s deliverables as well) | ||
=== Fill Layer generator === | === Fill Layer generator === |
Revision as of 15:32, 19 July 2020
Dynamic Fill Layers in Krita using SeExpr
Abstract
Layers are one of the core concepts of digital painting. They allow artists to control different parts of their artwork at once, for instance, color, lighting, lineart, as well as texture. A key feature of them is their ability to be resized, composited, renamed, grouped or deleted independently of the rest of the document.
Patterns and textures are also essential components of an artist’s toolbox, allowing them to represent the intricacies of a physical material. They come in two forms: bitmap textures, which are images contained in e.g. PNG or OpenEXR files, or procedural textures, which are generated on the fly using their mathematical representation.
KDE’s Krita painting suite supports using patterns and textures through two types of layers, File or Fill Layers. However, neither of them let artists create dynamically generated content: File Layers are inherently static, and Fill Layers support only color fills (like Paint Layers) or basic pattern rendering.
The goal of this project is to let artists create dynamic content through a new, scriptable Fill Layer. To this effect, I integrated Disney Animation’s SeExpr expression language into Krita.
Components
This project is divided into the following objectives or goals:
- SeExpr-based Fill Layer generator
- Creation and management of SeExpr scripts
- Integration tests
- User documentation
Side goals included:
- Feature support status across all our platforms
- Multithread support for Fill Layers
- ARM support for AppImages (including this project’s deliverables as well)
Fill Layer generator
WIP: https://phabricator.kde.org/T13337
Integration tests
User documentation
Multithreaded Fill Layers
AppImages support in ARM
Status
- 4.3 branch: awaiting review
- master branch: awaiting review
Links
- Proposal: https://summerofcode.withgoogle.com/projects/#6114015970852864
- Phabricator task: https://phabricator.kde.org/T13097
- SeExpr changes: https://invent.kde.org/lsegovia/seexpr/-/compare/master...amyspark%2FT13097-gsoc2020-seexpr
- Merge requests: !380, !411
- Blog posts: https://www.amyspark.me/blog/category/gsoc/