| Summary: | Wrong drawing of the bounding box when using free transform tool and rotation | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | Deif Lou <ginoba> |
| Component: | Tools/Transform | Assignee: | Dmitry Kazakov <dimula73> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | ahab.greybeard, dimula73 |
| Priority: | NOR | Keywords: | regression |
| Version First Reported In: | git master (please specify the git hash!) | ||
| Target Milestone: | --- | ||
| Platform: | Manjaro | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/graphics/krita/commit/9496063db3e86835870fbf36a59734e35a62a606 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: | sample image | ||
Here is a screenshot of the effect: https://i.imgur.com/DotJmjs.png It only happens with instant preview activated I can reproduce this effect with the Jan 24 5.0.0 prealpha (git c0eb189) appimage. It does not happen with the Jan 24 4.4.3alpha (git a5ed936) appimage. I have different conditions from the OP, as follows: It happens for opened files or images created from scratch, for Instant Preview on or off, for the Windows style or the Fusion style (I don't see Breeze). For the size of image, it happens for a canvas size greater than 1000 pixels. For a small image, the content follows the bounding box quickly. For larger images, the content lags the bounding box movement in steps and this lag effect increases as the image gets larger up to 1000 pixels in size. At a size of 1024 x 1024, the image content lags in steps and does not get to the required size/shape in order to match the transform bounding box. Krita
Version: 5.0.0-prealpha (git c0eb189)
Languages: en_GB, en, en, en_GB, en
Hidpi: false
Qt
Version (compiled): 5.12.9
Version (loaded): 5.12.9
OS Information
Build ABI: x86_64-little_endian-lp64
Build CPU: x86_64
CPU: x86_64
Kernel Type: linux
Kernel Version: 4.19.0-13-amd64
Pretty Productname: Debian GNU/Linux 10 (buster)
Product Type: debian
Product Version: 10
Desktop: MATE
OpenGL Info
Vendor: "NVIDIA Corporation"
Renderer: "GeForce GTX 750 Ti/PCIe/SSE2"
Version: "4.6.0 NVIDIA 450.80.02"
Shading language: "4.60 NVIDIA"
Requested format: QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CompatibilityProfile)
Current format: QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CompatibilityProfile)
Version: 4.6
Supports deprecated functions true
is OpenGL ES: false
Okay, I can confirm. The problem happens only in "perspective rotation" mode. Git commit 9496063db3e86835870fbf36a59734e35a62a606 by Dmitry Kazakov. Committed on 11/02/2021 at 06:46. Pushed by dkazakov into branch 'master'. Fix wrong in-place preview when doing perspective rotations We should scale camera positions as well. M +1 -2 plugins/tools/tool_transform2/strokes/inplace_transform_stroke_strategy.cpp M +8 -1 plugins/tools/tool_transform2/tool_transform_args.cc M +1 -1 plugins/tools/tool_transform2/tool_transform_args.h https://invent.kde.org/graphics/krita/commit/9496063db3e86835870fbf36a59734e35a62a606 @Dmitry re. "We should scale camera positions as well." https://bugs.kde.org/show_bug.cgi?id=418557 seems related. |
Created attachment 134993 [details] sample image SUMMARY Sometimes, when using the free transform tool and setting the rotation, the bounding box in the canvas is not drawn correctly. It seems to happen under very specific conditions. For example, I can only reproduce it if I have selected the breeze style, and only under specific ranges of sizes, and only if the image is loaded from disk. STEPS TO REPRODUCE 1. Open krita master and set the breeze style 2. Open the attached image 3. Select the transform tool with the free transform mode and change the rotation. OBSERVED RESULT The on-canvas bounding box is not drawn correctly over the transformed image EXPECTED RESULT The on-canvas bounding box should be drawn in the borders of the transformed image SOFTWARE/OS VERSIONS Operating System: Manjaro Linux KDE Plasma Version: 5.20.4 KDE Frameworks Version: 5.77.0 Qt Version: 5.15.2