Page MenuHome

Image blur in compositor creates halo from alpha
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1080/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 442.59

Blender Version
Broken: version: 2.91.0 Alpha, branch: master, commit date: 2020-09-11 09:14, hash: rB1b6dd42803df
Worked: Worked: 2.91.0 Alpha, Hash 4ccd5bf5c658, date 2020-09-09 10:38
This is likely related to D8234: Use DrawManager for Image/UV Editor

Short description of error
When i render objects with [render settings > film > Transparent = True] (bpy.context.scene.render.film_transparent = True), and blur the rendered image in the compositor, I get a strange halo around the objects. This seems related to the blurred alpha. If I sample the pixel values of the halo in the image editor, the pixel values that I observe (bright) is not the same as the sampled pixel values (black)

Exact steps for others to reproduce the error

  1. create some objects in the 3d view and frame them in the camera
  2. set [render settings > film > Transparent = True]
  3. Render the image
  4. open the compositor and set [use nodes = True]
  5. Connect render layers.image > blur > viewer
  6. look at the viewer node in the image editor
  7. Increase the blur of the blur node in the compositor and observe the halo around the objects

Jeroen Bakker messaged me on blender.chat and asked me to test the new submit D8234: Use DrawManager for Image/UV Editor, so I'm pinging @jeroen holterbosch (jeroen) Bakker (jbakker) and @Clément Foucault (fclem) to this bug report

Event Timeline

The cause of the halo is that the pixels samples contain some anti aliasing colors, but the alpha channel is 0.0. As it is 0.0 the pixel will be shown as pure emissive color. Depending on the solution of T80745 we might want to add an option to the compositor output nodes how the image should be treated.

Jeroen Bakker (jbakker) changed the task status from Needs Triage to Confirmed.Mon, Sep 14, 8:37 AM
Jeroen Bakker (jbakker) claimed this task.
Jeroen Bakker (jbakker) changed the subtype of this task from "Report" to "Bug".