RenderKit / oidn

Intel® Open Image Denoise library
https://www.openimagedenoise.org/
Apache License 2.0
1.78k stars 164 forks source link

Why pure white represents pure reflective/refractive materials? #116

Closed FrankEscobar closed 1 year ago

FrankEscobar commented 3 years ago

Several renderers are still not using the Disney's PBR implementation where this could have sense (since you could use base color as albedo) and in all that renderers albedo is totally black (0 0 0) for pure reflective/refractive materials.

Should we re-train the model to work with that? is there any chance to automatize this task by modifying the albedos?

Thank you in advance.

atafra commented 3 years ago

An albedo of 0 for a purely reflective surface would not make much sense considering the definition of the albedo. This has nothing to do with the Disney material model. Which specific renderer(s) are you referring to? Are you actually seeing artifacts because of this?

FrankEscobar commented 3 years ago

Most of the offiline renderers like V-Ray or Corona Renderer.

Probably no issues but not the higher potential quality neither.

atafra commented 3 years ago

Without any actual direct comparison, it's hard to say whether there's really any quality lost at all. If you have any examples, please share the results with us, if you can, and then we could investigate the issue. But using a constant albedo for reflective/refractive surfaces is definitely not the best quality-wise, which is also discussed in the documentation. To get the best possible quality, renderers need to implement the recommended approaches anyway. If these are not implemented in a particular renderer yet, I would recommend requesting it from the developer of that renderer.