Maniphest T103491

Refraction bsdf returns black - bug or expected behaviour?
Closed, ArchivedBUG

Assigned To
None
Authored By
nikita (kitbukoros)
Dec 27 2022, 4:23 PM
Tags
  • BF Blender
  • Render & Cycles
Subscribers
Fernando Alcala (TriFractal)
Germano Cavalcante (mano-wii)
Lukas Stockner (lukasstockner97)
nikita (kitbukoros)

Description

System Information
Operating system: windows 10
Graphics card: GTX 1050Ti

Blender Version
Broken: 2.9-3.2
Worked: none

Short description of error
I`m not sure if it is correct to post this as a bug, but this is not the first time I need a simple refractive material with no reflections at all, and while I did this many times with Corona or Vray, there is no way to get the same result in Blender Cycles
I`ve made a simple scene for comparison - totally refractive material in Corona and solid white background, so my refractive object is not visible at all, I had to add a box behind it to see it. That is what I need. At the same time in Cycles, I always get black parts, which looks like there are not enough transmission bounces, however increasing bounces didn`t fix that at all. Is it even possible to recreate this in Cycles? and what is the nature of that black zones?

Exact steps for others to reproduce the error

  • Open attached .blend file
  • Viewport ShadingRendered

Event Timeline

nikita (kitbukoros) created this task.Dec 27 2022, 4:23 PM
Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.Dec 27 2022, 9:57 PM
Germano Cavalcante (mano-wii) updated the task description.
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Bug".
Germano Cavalcante (mano-wii) added a project: Render & Cycles.
Germano Cavalcante (mano-wii) added a subscriber: Germano Cavalcante (mano-wii).
nikita (kitbukoros) added a comment.Dec 27 2022, 11:28 PM

I`ve found related topic like this
https://developer.blender.org/T39761

And it is suggested to use Glass or Principled instead, they really seem to not have this bug, however, they do not have any ability to tweak reflectiveness, like binding its power to fresnel value or so.
Glass BSDF looks same as metallic in Glossy render pass.
As far as I understand this is a feature of PBR materials, however I really miss some kind of legacy shader, even if it will not actually be 100% physically correct

Fernando Alcala (TriFractal) added a subscriber: Fernando Alcala (TriFractal).Dec 28 2022, 8:10 AM

Not a bug. The black parts are supposed to be reflections, but because you don't have any in the shader, Cycles will just return 0 for any reflection. I don't know how other engines do their refraction "only" shaders, so I'm assuming they just turn those paths into transparent rays.

Lukas Stockner (lukasstockner97) closed this task as Archived.Jan 6 2023, 6:05 AM
Lukas Stockner (lukasstockner97) added a subscriber: Lukas Stockner (lukasstockner97).

Yeah, this is Total Internal Reflection. There's literally no possible valid refracted direction, so the Refraction BSDF can't really do anything.
For workarounds, you might want to do a "if Fresnel > 0.99999, then Glossy BSDF, else Refraction BSDF" setup - TIR will only happen on the inside of the object, which might be fine for what you're looking for. Otherwise, yeah, transparency might be the way to go.

In any case, not a bug.