Thursday, March 27, 2014

Krita: new extended tablet support!

Traditionally Krita supported various types of tablets on Linux, but this support was limited to the tablets handled by wacom driver. The list of the supported hardware included (obviously) all the Wacom-branded tablets and some rare species that were trying to resemble the branded devices. It was the best that one could get form the Qt's tablet code. From now on Krita can also work with all the devices which are handled by the evdev X11 driver!



The list of the devices supported by evdev is really vast. It includes such not-very-expensive brands like Monoprice, Bosto, Huion and Genius. By the moment we tested Krita on two devices: Bosto 19MA [0] and Genius G-Pen 560. Both work fine with Krita and have really nice pressure support! Right now we are also working on support for the Huion tablet supplied by huiontablet.com to the Krita project as well!

Bosto kingtee 19MA now works with Krita!
So if you have a tablet device which used to refuse to work with Krita on Linux, test it now!

I also did a small cross-test of my old Wacom Graphire2 device and Genius G-Pen 560. What I noticed is that the lines generated by the Wacom tablet are more stable and smooth, whereas the lines by the Genius tablet are a bit dizzy. I don't know what is the exact reason for it, but I have a feeling that Wacom does some internal filtering of the coordinates generated by the hardware, which gives us better lines. Anyway, even if you own this Genius device, Krita allows you to workaround the issue. Just enable Weighted Smoothing painting algorithm and it will produce the results just like Wacom does!

And if you would like to know the technical details about why Qt's tablet code supports wacom-driver-based tablets only...

Qt's code doesn't fully support the interface of the XDeviceMotionEvent. Qt expects that the values of all six axes of the tablet will be sent to the client in each event. This is true for wacom driver, but it is not guaranteed to be true for other XInput devices. The motion event can also send the values that changed since the last event only. It even has special fields for that:

typedef struct
    {
    /* ... skipped ... */
    unsigned char axes_count;
    unsigned char first_axis;
    int           axis_data[6];
    } XDeviceMotionEvent;

axes_count field tells us how many axes are really delivered to the client and first_axis tells to what absolute axis the first element of axis_data corresponds to.

Now Krita can handle that effectively, as well as recognize to what sensor each axis is assigned to! [1]


[0] - https://groups.google.com/forum/#!topic/bosto-user-group/sL_O4VoopVk
[1] - unlike Gimp's way, where the user must manually investigate to which sensor each axis is connected to ;P

Monday, March 10, 2014

Krita Lime: Localization Support

After some time of really hard work we are happy to announce that our Krita Lime packages now support localization!

If you want to see Krita in your own language, just install a corresponding package...

apt-get install krita-testing-l10n-[your_language_id]

... and run Krita!

If you want to see Krita is a language that differs from your system one, type

KDE_LANG=[your_language_id] krita


Happy painting with Krita! :)

PS:
And for some languages the help of translators is really needed! Join our KDE translators team on l10n.kde.org and we will move KDE forward together! :)


Thursday, February 27, 2014

Krita 2.8 (Beta3) is now in Krita Lime!

As you may already know for some reasons the release of Calligra 2.8, which should have happened on the last Wednesday, was postponed for at least a week. That is sad but we could do nothing with it :(

But Krita team didn't want to let its users down! So we created our own packages based on the 2.8 release branch and published them on Krita Lime! Now you can not only install 'krita-testing' package, which is based on quite unstable master branch, but also 'krita-2.8' package, which is almost exactly the same thing which is going to be published in a week as Krita 2.8! :)

To install the stable Krita packages for any still supported Ubuntu distro (Precise, Quantal or Saucy) you need to do a couple of steps:
  1. Check that you don't have any original calligra or krita packages provided by your distribution or project-neon (if you have one, the installer will report you about a conflict)
  2. Add the PPA to repositories list:
    sudo add-apt-repository ppa:dimula73/krita
  3. Update the cache:
    sudo apt-get update
  4. Install Krita 2.8:
    sudo sudo apt-get install krita-2.8 krita-2.8-dbg
We've also prepared new packages for Windows users:
For 64-bit: Krita_x64_2.7.9.12
and 32-bit: Krita_x86_2.7.9.12

Thursday, February 6, 2014

"Of Missing Persons" Russian-based open movie project!


365mult is a small open movie project based on the story "Of Missing Persons" by Jack Finney and using only opensource software in its production: Blender for 3D modelling and Gimp+Krita for texturing and concept art!

The project was started in the end of December 2013 and was declared to publish updates every single day. Artur Shamshadinov, the founder of the project, says: "Every day we must do a small piece of work and the same day we must publish a report about it! That way everyone can follow the progress and we have no opportunity to relax and shirk from making out movie rock!"

The main part of the team is located in Kazan (Russia), but they would be glad to accept contributors from all over the world!

Here are their first concepts of the landscape around the barn: 


 


And the main character (surprise! ;)




Friday, November 29, 2013

New OpenGL features in Krita Lime!

Krita team is now entirely in the process of preparation for the upcoming 2.8 release. The branch is planned for this weekend, but with Krita Lime you can test all the new features right now!

Important Note:
After update you will need to reset your "Canvas Input Settings" by removing ~/.kde4/share/apps/krita/input directory to get the new shortcuts working.


During November we were working not only on fixing bugs, but also on improving rendering quality and performance of Krita. As you might have already read, Krita 2.8 is going to have a new significantly reworked openGL engine with the High Quality Filtering Mode. This will make the quality of veeery zoomed-out really much better. It will be helpful for people who need to work with hi-resolution images, which should be scaled down up to 10% to be shown on screen.
We also spent some hours on making the engine much efficient and responsive! Now if you tablet generates too many events, the engine will start limiting the frame rate and the speed will not suffer. Note, that the tablet events will not be dropped, so your lines will keep smooth as if nothing happens at all! :)

The only drawback of the new High Quality mode is that it needs your GPU/driver support openGL 3.0. But that should not be a problem, since most of the modern GPUs, including integrated ones, support that.

Another nice new feature of Krita 2.8 is the Dynamic Outline in Hover Mode. Previously, you could see the rotation/mirroring of the brush outline only when you paint, but now it is available even when you just hover the cursor over your canvas. Just for a fun effect of it, select Smudge_Rake brush preset and activate Rotation->Fuzzy dynamic and see a helicopter flying over your screen! ;)


On our way to Krita 2.8 we also refactored our Tool Mode Shortcuts system. Now the special modes of Paint Line/Rectangle/Ellipse tools are available again! If you press Ctrl or Alt while painting a rectangle, the Symmetric or Move mode will be activated correspondingly. Note, that now "Ctrl + Click" and "Click + Ctrl" are two different shortcuts! The former activates the Color Picking tool, the latter --- activates Symmetric Rectangle mode.

We have also enhanced the Color Picking Shortcuts. Now you have four options available in most of the painting tools:

Ctrl + Left Click --- pick color from merged image to Foreground Color
Ctrl + Alt + Left Click --- pick color from merged image to Background Color

Ctrl + Right Click --- pick color from current layer to Foreground Color
Ctrl + Alt + Right Click --- pick color from current layer to Background Color


Friday, September 27, 2013

Krita Lime: packages with hot-new Wraparound Mode and Clones Array

This week was really successful for Krita, we got four feature branches merged into master! Two of them will be quite interesting for game-designers and painters working with 3D models.

Wraparound Mode

In this new mode (which can be activated by pressing 'W' shortcut) the sides of the image get connected to each other and the image becomes infinitely-cycled. The picture becomes repeated on a screen (openGL mode only) as if it is a texture being wrapped around some surface. The painting with a brush also becomes cycled: just move your stroke and it'll appear on the other side of the image!

For the lovers of psychedelic effects we also added wraparound support to the Move Tool. Just activate it and enjoy dragging the borders of the image to and fro.


Clones Array

This feature (which can be found in Layer menu) allows the user to create a set of clones (tiles) which are linked to the current layer and are offset to some specific position. This feature will be useful for texture painters and online games creators where the world consists of a repeated set of 2D tiles.


How to Install

New features are already present in Krita Lime! But since these features are very new, we've packaged it into a separate package: 'krita-wraparound-wip', so that everyone could rollback to a "stable" 'krita-testing' package. During installation the system will suggest you to replace the existing 'krita-testing' package.

sudo apt-get install krita-wraparound-wip

And as usual, if you find any bug of have any comment, do not hesitate to tell us about it! :)

Saturday, August 10, 2013

Krita Lime (2.8prealpha). New features overview

Hi, all!

Some time have passed since I was talking about new features of the current development version of Krita. But there are lots of them actually! Let me show them to you :)

(all these feature are already available in Krita Lime PPA, which has packages for Precise, Quantal and Raring)

Optimized selections engine

  • all the selection tools now work incomparably faster. After pressing Ctrl+A you don't have time to drink your coffee anymore ;)
  • Pixel and Vector selections are now convertible! (Yes, we always had Vector Selections!) You can convert your selection to a vector object and edit it moving the vertices as you do for any vector shape. To convert it, just use Selection->Convert To Vector Selection menu. When you are done with editing vectors, you can just start painting on selection and it will be converted back into a pixel one

Optimized painting of the gradients

  • Gradients are now painted a couple of times faster! Thanks Camilla Boemann for this work!

Updated line smoothing algorithms

  • both Basic and Weighted Smoothing algorithms were almost rewritten. This solved many interesting bugs which caused Krita to produce "screwed" lines while painting on high speeds
  • Weighted Smoothing algorithm now has an option for controlling the ending of the stroke. It makes the line "hurry up" to the brush tip when you lift the stylus up. The speed of this "hurrying up" can be controlled by "Stroke Ending" option
  • Weighted Smoothing can now also smooth the pressure of the pen
     

Refactored predefined brushes engine

  • The speed of the painting with predefined brushes raised up to 20%
  • Fixed blurriness of the predefined brushes on all the scales
  • Rotation of a predefined brush now produce no artifacts!
  • Colored predefined brushes now rendered correctly (without gray traces left on the canvas)

Updated Brush Sensors engine

  • Anisotropic Spacing Feature. Now the spacing can be configured to be related to the ratio of the brush
  • Fixed Speed and Distance sensors to work in a sane way ;)
  • Refactored Drawing Angle sensor, so that it became much smoother
  • Implemented Fan Corners feature. It can be activated in the Drawing Angle configuration dialog. It ensures, that there will be no breakups in the stroke in the corners of the line. It works like a spacing option, but only for angular values.

  • Now when the canvas is mirrored, the dab stays non-mirrored! So you can continue painting with your brush unchanged!

Followers