Black artefacts on materials with refraction on CPU #66296

Closed
opened 2019-07-01 11:46:34 +02:00 by Julien Kaspar · 12 comments
Member

System Information
Operating system: Linux-4.13.0-46-generic-x86_64-with-debian-stretch-sid 64 Bits
Graphics card: Quadro GP100/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 384.130

Blender Version
Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-01 07:44, hash: blender/blender@65d770ffa3

Example File
bug_report.blend

Short description of error
When rendering object that have a refractive material with transmission there's a chance to get black artefacts when the object is close to others. While working on a character I encountered this issue on the eye shader of the transparent cornea, which is covering the inner eye object:
bug_cpu.png

This only happens when rendering on the CPU with F12 and having shadows disabled in ray visibility. The world shader and using HDRIs also seems to have an effect on the artefacts but I'm not sure how. Disabling diffuse in the ray visibility settings might lessen or strengthen the black artefacts.
bug_gpu_cpu.png

I tried increacing the distance of the 2 objects but the artefacts just became more scattered. It also makes it more visible that they are based on the topology of the refractive object.
bug_cpu_displace.png

Exact steps for others to reproduce the error

  • Create 2 spheres and make one slightly bigger than the other.
  • Apply any diffuse shader to the center one and any refractive material (glass, refraction) to the outer one.
  • Add some bumps to the outer sphere to get some difference in distance to the inner sphere
  • disable shadows and/or diffuse in the ray visibility settings of the outer sphere object
  • place a camera and render the spheres on the cpu
  • if the artefacts are not visible try rendering the spheres with any light added to the scene (like a sun lamp pointing at the spheres)
**System Information** Operating system: Linux-4.13.0-46-generic-x86_64-with-debian-stretch-sid 64 Bits Graphics card: Quadro GP100/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 384.130 **Blender Version** Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-01 07:44, hash: `blender/blender@65d770ffa3` **Example File** [bug_report.blend](https://archive.blender.org/developer/F7558217/bug_report.blend) **Short description of error** When rendering object that have a refractive material with transmission there's a chance to get black artefacts when the object is close to others. While working on a character I encountered this issue on the eye shader of the transparent cornea, which is covering the inner eye object: ![bug_cpu.png](https://archive.blender.org/developer/F7558208/bug_cpu.png) This only happens when rendering on the CPU with F12 and having shadows disabled in ray visibility. The world shader and using HDRIs also seems to have an effect on the artefacts but I'm not sure how. Disabling diffuse in the ray visibility settings might lessen or strengthen the black artefacts. ![bug_gpu_cpu.png](https://archive.blender.org/developer/F7558211/bug_gpu_cpu.png) I tried increacing the distance of the 2 objects but the artefacts just became more scattered. It also makes it more visible that they are based on the topology of the refractive object. ![bug_cpu_displace.png](https://archive.blender.org/developer/F7558213/bug_cpu_displace.png) **Exact steps for others to reproduce the error** - Create 2 spheres and make one slightly bigger than the other. - Apply any diffuse shader to the center one and any refractive material (glass, refraction) to the outer one. - Add some bumps to the outer sphere to get some difference in distance to the inner sphere - disable shadows and/or diffuse in the ray visibility settings of the outer sphere object - place a camera and render the spheres on the cpu - if the artefacts are not visible try rendering the spheres with any light added to the scene (like a sun lamp pointing at the spheres)
Author
Member

Added subscriber: @JulienKaspar

Added subscriber: @JulienKaspar
Author
Member

Added subscriber: @brecht

Added subscriber: @brecht

Added subscriber: @SteffenD

Added subscriber: @SteffenD

Added subscriber: @ZedDB

Added subscriber: @ZedDB
Brecht Van Lommel was assigned by Sebastian Parborg 2019-07-01 16:13:49 +02:00

The artifacts seem only to be visible in the final render (not in the viewport preview render).

The artifacts seem only to be visible in the final render (not in the viewport preview render).

Added subscriber: @oweissbarth

Added subscriber: @oweissbarth

The artifacts seem to only appear when using the svm backend. Using the osl backend it looks fine.

The artifacts seem to only appear when using the svm backend. Using the osl backend it looks fine.
Brecht Van Lommel removed their assignment 2019-07-04 18:48:12 +02:00
Sergey Sharybin was assigned by Brecht Van Lommel 2019-07-04 18:48:12 +02:00

Added subscriber: @Sergey

Added subscriber: @Sergey

Assigning to @Sergey since this seems to be related to BVH8.

The bug does not happen when:

  • Enabling OSL
  • Using BVH4 instead of BVH8
  • Disabling AVX2
Assigning to @Sergey since this seems to be related to BVH8. The bug does not happen when: * Enabling OSL * Using BVH4 instead of BVH8 * Disabling AVX2

This issue was referenced by blender/cycles@bd4fb205c9

This issue was referenced by blender/cycles@bd4fb205c9628a489d0ab4fa80be7837a0e4c56b

This issue was referenced by blender/blender@9ffb87c629

This issue was referenced by blender/blender@9ffb87c62984224a3af933debfab9959a6660ab0

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Sign in to join this conversation.
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: studio/blender-studio#66296
No description provided.