Maniphest T91977

Cycles: Light artifact on backlit transmissive material in viewport render
Closed, Resolved

Assigned To
kolloom
Authored By
kolloom
Oct 6 2021, 7:37 AM
Tags
  • BF Blender
  • Cycles
  • Render & Cycles
Subscribers
Alaska (Alaska)
kolloom
Mikhail Matrosov (ktdfly)

Description

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 2060/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 472.12

Blender Version
Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-10-05 22:29, hash: rB26dac33ce18f
Worked: 2.93.4 LTS, 3.0.0 (rB7223a0348f53, 2021-06-27)

Short description of error
I am seeing a lighting issue around the transmission material (set to 1) when lit from a specific angle with the latest 3.0 alpha.

The viewport does not glitch on 2.93.4 LTS.

For both versions the final render does not have such artifacts.

Test File:

Event Timeline

kolloom created this task.Oct 6 2021, 7:37 AM
kolloom added a comment.Oct 6 2021, 7:41 AM

kolloom updated the task description.Oct 6 2021, 7:43 AM
kolloom added a project: Cycles.
Pratik Borhade (PratikPB2123) renamed this task from [CycleX] Light artifact on backlit transmissive material in viewport render to Cycles: Light artifact on backlit transmissive material in viewport render.Oct 6 2021, 8:08 AM
Pratik Borhade (PratikPB2123) updated the task description.
Pratik Borhade (PratikPB2123) updated the task description.Oct 6 2021, 8:27 AM
Pratik Borhade (PratikPB2123) added a project: Render & Cycles.
Alaska (Alaska) added a subscriber: Alaska (Alaska).EditedOct 6 2021, 9:12 AM

There is a big issue present in both versions where the volume transmission looks distorted, this is caused by you using Shade Smooth on a low poly mesh with a transmission shader. Low poly objects usually produce issues like these unless Auto Smooth is used and the settings are tweaked to get the right results. You can find the setting for Auto Smooth here:

The reason why this rendering artifact doesn't occur in the final render is due to the fact you have a sub-division surface modifier that increases the geometry which is only visible in the final render.

As for the other issue, the white spot in the middle of the cylinder, that appears to be another issue and with testing I found that this issue is present prior to the Cycles-X merge. So I will bisect for the cause.

Alaska (Alaska) changed the task status from Needs Triage to Needs Information from Developers.Oct 6 2021, 9:22 AM
Alaska (Alaska) added a subscriber: Mikhail Matrosov (ktdfly).

I decided to play around with the scene some more and found that the second issue was caused by the Geometry Offset introduced in Blender 3.0. By default the value 0.1 is used, however it seems to be causing artifacts for you. Change it to 0.0 to get rid of the issue.

Geometry Offset can cause artifacts, and this might just be one of them, however I would need to check with a developer if this is one of them.
CC @Mikhail Matrosov (ktdfly) is the artifact shown in this scene expected from the Geometry Offset feature?

Mikhail Matrosov (ktdfly) added a comment.EditedOct 6 2021, 3:20 PM

Yes, the artifact is connected to the Geometry Offset. This feature lifts starting point of the reflection ray above the geometry to prevent shadow terminator artifact T68920. Sometimes it overshoots and the starting point ends up in a bad place. Because of this you have to be very careful with smooth normals: the bigger the polygon and angles with its adjacent polygons - the bigger is the zone where you shouldn't place other geometry.

@Alaska (Alaska) is correct: when you final-render the scene, subdivisions make the issue go away because polygons and angles become much smaller. But there's also a problem with the object itself in the first place: you have a bevel modifier that creates this ill geometry. In most cases (yours included) the correct way to use the bevel modifier is to activate Harden normals in the bevel settings and to enable Auto smooth in the object data properties. In fact, I think that these options should be activated by default.

Thanks to this report I also noticed that the Geometry Offset now depends on the object scale. I was deliberately writing the terminator fix to correctly handle object transformations and had tests for this, but probably I have to revisit it.

kolloom closed this task as Resolved.Oct 8 2021, 6:11 AM
kolloom claimed this task.

Thank you both for your time. I will mark this as closed.