[Bf-cycles] Cycles Fresnel behaviour

Marco G marco.gzt at gmail.com
Mon Jan 5 22:58:13 CET 2015


I will try to upload a file as soon as i can, i thought was more
straightforward by reading the slides directly since Cycles gives the same
results from the slides, where the new function isn't implemented, i.e.:
gives dark "rim" at grazing angles and poor highlights when normal is
facing the camera.

These below are three comparisons, sorry if Cycles doesn't match perfectly
but i had limited time. One picture is Cycles and the other two are from
the slides i linked, with and without the correction to Fresnel function.
Cycles material is really simple: SSS and Glossy, mixed with default
Fresnel (1.450) into mix factor. Normal map on both BSDF + Displace
modifier.

Cycles <https://db.tt/fQnzweAD> -
Reference before fix <https://db.tt/Pd3Ko8uI> -
Reference fixed <https://db.tt/sgZD2ovE> -

By reading other people isn't sure about current Fresnel too, and then
workaround with Layer Weight -> Facing let me suspect is the same thing I
wrote about. Using Facing is fine but has no "physical" numerical reference
(Ior)..

2015-01-05 19:58 GMT+01:00 Sergey Sharybin <sergey.vfx at gmail.com>:

> There are no issues i guess, Cycles just uses quite simple and fast
> fresnel evaluation from the beginning and was never reviewed since then.
>
> Will have a closer look later this week.
>
> On Mon, Jan 5, 2015 at 11:10 PM, Matthew Heimlich <matt.heimlich at gmail.com
> > wrote:
>
>> Cycles' Fresnel term is definitely different than most other renderers
>> I've used, which is why I almost solely use "facing" from an artistic point
>> of view. Not a huge deal I don't think, unless working with real-world
>> absolutes (in which case a spectral renderer should be used anyway), but it
>> would be interesting to hear what the issue is that causes this disparity
>> in Cycles.
>>
>> On Mon, Jan 5, 2015 at 11:35 AM, Sergey Sharybin <sergey.vfx at gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> Can't really give exact link to what Cycles use, from quick glance it it
>>> seems to be somewhat close to what embree does.
>>>
>>> Improvements are always possible, but it's also useful to see the .blend
>>> file with the setup which you consider is faulty. To investigate if it's
>>> setup properly and use for comparison of results and so.
>>>
>>> On Mon, Jan 5, 2015 at 8:38 PM, Marco G <marco.gzt at gmail.com> wrote:
>>>
>>>> Hi all,
>>>> i always thought Cycles Fresnel was somewhat incorrect/weak compared to
>>>> other engines i've used, but never got what's wrong, so I never mentioned.
>>>> I'm still unsure if it's the case, i'd like to hear from you devs what
>>>> about it, but seems it's really a known problem and Cycles still does not
>>>> implement the correct approach.
>>>>
>>>> So, Fresnel in Cycles ("Shader A" Mixed via Fresnel Node with "Glossy
>>>> BSDF") always gave pretty dull facing highlights, almost absent, and
>>>> extreme reflections (and dark edges) at grazing angles. Turns out that
>>>> making correct looking human faces, lacquered wood, floors, plastics...etc
>>>> it's been always difficult.
>>>> An RGB Curves node added between Fresnel and the Mix Factor has been a
>>>> sort of solution (tuning down whites and raising blacks), but a proper
>>>> implementation should be priority IMHO.
>>>>
>>>> Example human head with highlighted errors, current Cycles behaviour:
>>>> Head_Fresnel <https://db.tt/gaO1ZUBu>
>>>>
>>>> I stumbled upon these slides below, which exactly explain (and solve)
>>>> this problem, page 29-34, the same head is used for demonstration. CC Lee
>>>> Perry
>>>> Link slides: Slides Anders L.
>>>> <http://blog.selfshadow.com/publications/s2014-shading-course/langlands/s2014_pbs_alshaders_slides.pdf>
>>>>
>>>> As you can see by using a correct approach, the dark artifacts and dull
>>>> front highlight problems are gone, the slides says "for rough BSDFs you
>>>> really need to do it based on the normal of each microfacet (i.e, the
>>>> half-angle vector) and the light direction" page 31.
>>>>
>>>> Is this the case or am i missing something? Could this be improved by
>>>> implementing such method?
>>>>
>>>> Thanks,
>>>> Regards. MG
>>>>
>>>> _______________________________________________
>>>> Bf-cycles mailing list
>>>> Bf-cycles at blender.org
>>>> http://lists.blender.org/mailman/listinfo/bf-cycles
>>>>
>>>>
>>>
>>>
>>> --
>>> With best regards, Sergey Sharybin
>>>
>>> _______________________________________________
>>> Bf-cycles mailing list
>>> Bf-cycles at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-cycles
>>>
>>>
>>
>> _______________________________________________
>> Bf-cycles mailing list
>> Bf-cycles at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-cycles
>>
>>
>
>
> --
> With best regards, Sergey Sharybin
>
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> http://lists.blender.org/mailman/listinfo/bf-cycles
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-cycles/attachments/20150105/e27751e4/attachment.htm 


More information about the Bf-cycles mailing list