POV-Ray : Newsgroups : povray.off-topic : Physically based rendering : Re: Physically based rendering Server Time
6 Oct 2024 13:15:58 EDT (-0400)
  Re: Physically based rendering  
From: And
Date: 26 Jun 2015 01:45:01
Message: <web.558ce6c318c52d498107bb350@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> At the default of "brilliance 1" the brightness of the diffuse component
> depends on the angle of the incoming light, following a cos(theta) law,
> where theta is the angle between the light ray and the surface normal
> (the vector perpendicular to the surface).
>
> Similarly, if we're talking about brightness as the total amount of
> light reaching the observer from any given patch of surface, the
> brightness of the diffuse component also depends on the angle of the
> /outgoing/ light (i.e. the angle at which the surface is seen by an
> observer), following the very same cos(theta) law. However, this is
> already modeled exactly by the patch of surface appearing to get smaller
> as theta increases, while the brightness of any individual pixel remains
> constant.
>
> Using "brilliance N" with any value other than 1 changes the dependency
> between the brightness of the diffuse component and the angle of
> incoming light: Rather than following a cos(theta) law, it now follows a
> cos(theta)^N law.
>
> Now there is some fundamental law known to the contemporary world of
> professional and academic rendering, that any physically realistic
> shading formula must be "bi-directional", i.e. if you exchange the
> incoming and outgoing light rays, the formula must still yield the same
> result.
>
> Thus, when you change the brightness' dependency on the incoming
> direction, you also need to change the dependency on the outgoing
> direction accordingly.
>
> Traditionally however, POV-Ray will fail to do this, always leaving the
> brightness of an individual pixel constant no matter what the
> orientation of the surface towards the observer, which - as mentioned
> before - happens to be a perfect match for "brilliance 1", but breaks
> bi-directionality at any other setting.
>
> Now fixing this behaviour of the "brilliance" keyword would be possible,
> but it would break each and every existing scene that makes use of
> brilliance. Therefore, I introduced an optional second parameter to
> "brilliance" which governs the dependency on the outgoing direction,
> allowing to restore bi-directionality by setting both parameters to the
> same value.

First of all, thank you very much for sharing this. This article is full of
information to me, and I'm interested in knowing such a thing. Now I get the
idea. You said that a bi-directionality is a law known to academic rendering, so
we believe it for now. And with many other new features I saw in your posts,
there is a marked gain with pov-ray. I'm impressed.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.