Jump to content

Recommended Posts

Posted

Hello :) 

I'm trying to understand the displace effect at the moment, and i would like to ask if it's normal that, when i use the live filter "displace" i get weird artefacts (the straight lines) that changes when i zoom or move around the canvas, and when i rasterize the layer, they get "baked" in the layer, here are some screen shots :
Capturedecran2025-04-24a09_55_10.thumb.png.51ddd08b55f46885a9df3e780609f754.pngCapturedecran2025-04-24a09_54_49.thumb.png.e87b306692aad15e8b0623b88fdf9860.pngCapturedecran2025-04-24a09_54_53.thumb.png.90b8a4d37d4d44c5a3a11b04bd0081b2.png

-Anna

Posted

The lines are most probably the edges of the used images for creating the map.

ideally use the exact same size both for displacement map and image to be altered.

zooming to anything except 100% or integers multiples (200%, …) leads to rendering artifacts due to mipmap rendering.

for all sharpening or noise filters which create fine details, the zoom level impacts rendering.

however, the result of merge visible should look identical at 100% to the rendered image.

if it is deviating even at 100%; there might be a bug.

we would need the actual photo file (saved with history) to check.

Mac mini M1 A2348 | MBP M3 

Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.

 

Posted

see the comments on your other post about this, and please ONE post per topic.
if other people can confirm a bug or weird behavior in the app, we can redirect it to support.

Windows 11 - 24H2 ⊕ ASUS PRIME X670E-Pro ⊕ AMD Ryzen 9-7900X ⊕ Arctic Liquid Cooler II ⊕ 64GB RAM ⊕ OS SSD Samsung 980Pro 2Tb ⊕ Cache SSD Samsung 870 EVO 1Tb ⊕ Video HD WD Blue 4Tb ⊕ Geforce RTX 3060 12Gb ⊕ BenQ SW270C ⊕ Dell U2412M ⊕ Affinity Photo 2.5.5 ⊕ Affinity Designer 2.5.5 ⊕ Affinity Publisher 2.5.5

Posted
On 4/24/2025 at 3:07 PM, NotMyFault said:

The lines are most probably the edges of the used images for creating the map.

They are not because the effect is the actual "A" you can see so there is no reason for the line to be in the middle of the "A".

I linked the file with history and the D-map in case it didn't save with the history. (same D-map for the two layers)
The first layer is the displace filter from "filter-distortion-displace" (so it is baked in, and there is no problem)
The Second layer is the live filter - displace. (here i have the artifacts)

On 4/24/2025 at 3:07 PM, NotMyFault said:

however, the result of merge visible should look identical at 100% to the rendered image.

if it is deviating even at 100%; there might be a bug.

For me, it doesn't look the same when zoomed in at 100% as when i rasterize the layer with the live filter. Artifacts still there.
But indeed, when i use a d-map with the exact same size as the project file, i have no artifacts. But i would like to make a stock of d-maps that i can use in different files so i assume that wouldn't be possible.
 

 

On 4/24/2025 at 3:27 PM, RobWu said:

see the comments on your other post about this, and please ONE post per topic.
if other people can confirm a bug or weird behavior in the app, we can redirect it to support.

I'm sorry for the 2 posts, but the other one was purely a question about how to achieve a specific look while this on is more of a bug report, so i thought it would be better to write 2 different posts.

Thanks for all your answers :)
-Anna

texture A 1.png

Gradient Displace test.afphoto

Posted
8 hours ago, Dankha said:

I linked the file with history and the D-map in case it didn't save with the history. (same D-map for the two layers)
The first layer is the displace filter from "filter-distortion-displace" (so it is baked in, and there is no problem)
The Second layer is the live filter - displace. (here i have the artifacts)

I see artifacts only when you activate „scale to fit“. In the tutorial James Ritson explains that the Filter has some limits. Live filters are much more sensitive to size mismatch due to mipmap rendering. If I deactivate scale to fit, I get 24 instances of letter A. That stretch is too much.

Mac mini M1 A2348 | MBP M3 

Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.

 

Posted

When you simply scale the letter A to canvas size, then rasterize, there are no artifacts.

my best practice is to always rasterize or merge visible the source layer in full document size. This avoids all artifacts.

Mac mini M1 A2348 | MBP M3 

Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.

 

Posted
6 hours ago, NotMyFault said:

Live filters are much more sensitive to size mismatch due to mipmap rendering

The preview of the Displacement destructive filter (and the other destructive filters) is also mipmap rendered but is free of glitching. There is a bug in the live filter, not a "sensitivity".

Posted
1 hour ago, lepr said:

is also mipmap rendered

The key difference:

  • live filters calculate the effect in display resolution, based on rendering of all underlying blended layers
  • destruktive filters impact one specific pixel layer in its specific layer resolution (excl rotation and skew), then render the result of filter  incl scale, rotation and shear using mipmap rendering to canvas resolution

best example is noise. Noise (live)  of 1 px will always look identical no matter of layer resolution.

Noise (destructive) respects layer resolution. Can be utilized to create larger grain 

Mac mini M1 A2348 | MBP M3 

Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.

 

Posted
1 hour ago, NotMyFault said:

The key difference:

  • live filters calculate the effect in display resolution, based on rendering of all underlying blended layers
  • destruktive filters impact one specific pixel layer in its specific layer resolution (excl rotation and skew), then render the result of filter  incl scale, rotation and shear using mipmap rendering to canvas resolution

best example is noise. Noise (live)  of 1 px will always look identical no matter of layer resolution.

Noise (destructive) respects layer resolution. Can be utilized to create larger grain 

Not sure why you wrote all that in response to my post. There is a bug in the live Displacement filter. 

Posted

I agree there is a difference in live filters vs destructive filter, and this is probably a bug. However, you can avoid this bug by not using the „scale to fit“ option and scale the d-map manually.

next, despite the rendering of the unwanted artifacts is zoom level dependent, if you use merge visible the resulting pixel layer is not depending on zoom level used while merging.

Mac mini M1 A2348 | MBP M3 

Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.

 

Posted
10 hours ago, NotMyFault said:

live filters calculate the effect in display resolution, based on rendering of all underlying blended layers

A Live Filter is displayed acting on a mipmap rendering of a nondestructive rasterisation of its target. The target can be a parent of the Live Filter, or the scene underlying the Live Filter.

 

10 hours ago, NotMyFault said:

destruktive filters impact one specific pixel layer in its specific layer resolution (excl rotation and skew), then render the result of filter  incl scale, rotation and shear using mipmap rendering to canvas resolution

That's not what happens in my experience. When a destructive filter is invoked, its unaffected target is instantly destructively rasterised to an unscaled, unskewed and unrotated Pixel object with the pixel density of the document and aligned with the document pixel grid, as if the Rasterise command had been invoked. Then a preview of the filter acting on a mipmap rendering of the Pixel object, not the full scale Pixel object, is displayed (and that will normally appear identical to the live version of the filter at a given view zoom). If the 'Apply' button is clicked, the full scale Pixel object gets destructively modified by the filter. If the 'Cancel' button is clicked, the Pixel object remains unaffected, and an Undo must still be performed by the user if the document is to be returned to the state before the filter was invoked.

Posted
4 hours ago, lepr said:

When a destructive filter is invoked, its unaffected target is instantly destructively rasterised to an unscaled, unskewed and unrotated

For the case of noise filter on iPad, this is proven wrong.

  1. I created a merged visible pixel layer of a checkered board, and rotated it by 25 degrees.
  2. used destructive noise filter and added 100% noise, pressed apply
  3. the noise was added to the pixel layer, which stayed unrasterized and rotated. 

if your theory would be correct, the rotation would have been eliminated immediately in step 2, and additional undo steps would be required. this did not happen.

 

IMG_2740.png

IMG_2741.png

IMG_2742.png

IMG_2743.png

IMG_2744.png

Mac mini M1 A2348 | MBP M3 

Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.

 

Posted

Rasterization will only occur if the active layer is not yet a pixel layer - depending on assistant settings. In that case it would not make any sense to talk about rotation etc of an active pixel layer.

Mac mini M1 A2348 | MBP M3 

Windows 11 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5 | Dell 27“ 4K

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

I use iPad screenshots and videos even in the Desktop section of the forum when I expect no relevant difference.

 

Posted
16 hours ago, NotMyFault said:

However, you can avoid this bug by not using the „scale to fit“ option and scale the d-map manually.

Yes it is avoidable, but it think it is still a bug cause why would there be a "scale to fit" option if not usable ? 

 

On 4/26/2025 at 12:50 AM, NotMyFault said:

Live filters are much more sensitive to size mismatch due to mipmap rendering.

Is this only for preview? if so, it doesn't explain why the artifact are still there when rendered
 

12 hours ago, NotMyFault said:

For the case of noise filter on iPad, this is proven wrong.

  1. I created a merged visible pixel layer of a checkered board, and rotated it by 25 degrees.
  2. used destructive noise filter and added 100% noise, pressed apply
  3. the noise was added to the pixel layer, which stayed unrasterized and rotated. 

I tested this on affinity desktop on mac and got the same results. 


I'm not sur if i understood everything because technical terms + english not being my native langage = 🧐🤯

Posted
14 hours ago, NotMyFault said:

if your theory would be correct, the rotation would have been eliminated immediately in step 2, and additional undo steps would be required. this did not happen.

It isn't only theory. It does happen when the target is not already a Pixel object; for example, a vector Rectangle or a Group.

 

14 hours ago, NotMyFault said:

Rasterization will only occur if the active layer is not yet a pixel layer - depending on assistant settings. In that case it would not make any sense to talk about rotation etc of an active pixel layer.

That is the scenario I was talking about.

My bad for not considering the case of a Pixel target.

Posted
2 hours ago, Dankha said:

think it is still a bug

It clearly is a bug. Consider reporting it in the appropriate bugs forum to increase the probability of a fix.

Posted
On 4/24/2025 at 2:27 PM, RobWu said:

see the comments on your other post about this, and please ONE post per topic.
if other people can confirm a bug or weird behavior in the app, we can redirect it to support.

For ‘post’ read ‘thread’. The older thread is here, but it’s about the static Distortion/Displace filter rather than the live one.

Alfred spacer.png
Affinity Designer/Photo/Publisher 2 for Windows • Windows 10 Home/Pro
Affinity Designer/Photo/Publisher 2 for iPad • iPadOS 17.5.1 (iPad 7th gen)

Posted
On 4/24/2025 at 2:27 PM, RobWu said:

see the comments on your other post about this, and please ONE post per topic.

This is a separate topic. Both topics are about Displacement filter, but very different topics.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.