POV-Ray : Newsgroups : povray.documentation.inbuilt : Finish-level Fresnel Server Time
28 Mar 2024 05:04:05 EDT (-0400)
  Finish-level Fresnel (Message 12 to 21 of 21)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Jim Holsenback
Subject: Re: Finish-level Fresnel
Date: 21 Dec 2016 08:55:32
Message: <585a89d4$1@news.povray.org>
On 12/21/2016 3:55 AM, clipka wrote:
> I'm changing the way the `finish` keyword will act when specified right
> inside the `finish` block.

updated to include the additional narrative you posted here: 
http://wiki.povray.org/content/Reference:Finish


Post a reply to this message

From: clipka
Subject: Re: Finish-level Fresnel
Date: 21 Dec 2016 10:35:38
Message: <585aa14a$1@news.povray.org>
Am 21.12.2016 um 14:55 schrieb Jim Holsenback:
> On 12/21/2016 3:55 AM, clipka wrote:
>> I'm changing the way the `finish` keyword will act when specified right
>> inside the `finish` block.
> 
> updated to include the additional narrative you posted here:
> http://wiki.povray.org/content/Reference:Finish

I'm afraid so say that, but I'm still not happy with the status quo :}

As for the syntax, I've decided to take it into my own hands now. As for
the rest of the page, I'll just continue to gripe and whine.

You know that something is utterly wrong with the structure of a page if
the table of contents is preceded by an entire 2 pages worth of text.

I think the description of the finish-level `fresnel` keyword and its
effect is utterly misplaced there, and should instead be given a section
of its own -- possibly behind "Conserve Energy for Reflection", because
these two are actually pretty closely related: finish-level `fresnel`
does a similar thing for the various finish components that
`conserve_energy` has been doing for transmitted light (with the
difference being that `fresnel` goes solely by the materials refractive
index, whereas `conserve_energy` would also honor non-fresnel variable
reflection).

In the sections describing the individual finish components, I would
briefly mention that the respective component is also affected by the
finish-level `fresnel` keyword, but defer the reader to the
fresnel-specific section for details.

(In a similar vein, I think the `use_alpha` keyword is also misplaced.
There's not much to say about it, but it is a dedicated feature
nonetheless, and shouldn't be in the section that deals with finish /per
se/.)


The "Diffuse", "Phong" and "Specular" sections still have the "fresnel"
keyword appearing in examples that seems to no longer have any
connection to that keyword.

Speaking of the "Diffuse" section, the description of the example in
there has struck my as rather odd:

-------------------------------------------------------
finish { diffuse albedo 0.7 fresnel }

Means that 70% of the light seen comes from direct illumination from
light sources. The default value for diffuse is 0.6.
-------------------------------------------------------

In this form this is nonsense: "the light seen" that "comes from direct
illumination from light sources" would also include highlights.

I'd suggest something along the following lines:
-------------------------------------------------------
finish { diffuse albedo 0.7 }

means that a white object with this finish reflects 70% of all incoming
light /diffusely/.
-------------------------------------------------------


On to the "Phong" and "Specular" sections: In both of these, the
`albedo` keyword description was inserted in a section that deals with
`phong_size` or `roughness`, respectively, now leaving the sentence "If
phong/specular is not specified phong_size/roughmess has no effect."
dangling, disconnected from the section it belongs to.


Also, the description of the reflection's `exponent` parameter is pretty
bogus (but that's not your fault): Claiming that "POV-Ray uses a limited
light model that cannot distinguish between objects which are simply
brightly colored and objects which are extremely bright" is just plain
wrong.

I guess the text is just the result of people struggling to find an
explanation for a phenomenon they failed to understand back then, which
can now be named with just one word: Gamma!

The text mentions "partially reflective surfaces". Now while most
operations in the render engines _multiply_ colours, in this particular
case colours are _added_ - namely the object's own colour and the
reflected colour. And while multiplications work fine in any power-law
gamma colour space, additions absolutely positively don't. In
"assumed_gamma 2.2" mode, "middle and lower brightness objects typically
look too bright" when another colour is added to them.

So we might just as well replace the entire section with something like:
-------------------------------------------------------
exponent
This property pre-dates the introduction of proper gamma handling.
People found that it was difficult to model partially reflective
surfaces in a realistic way, as middle and lower brightness objects
typically looked too bright when reflected. As a means work around the
phenomenon the optional exponent keyword was added, producing non-linear
reflection intensities. The default value of 1.0 produces a linear
curve. Lower values darken middle and low intensities and keep high
intensity reflections bright. While this feature may still be used for
artistic effects, it is strongly discouraged for renders aiming at
realism. The original phenomenon is well understood by now, and using
"assumed_gamma 1.0" as recommended will avoid it entirely.
-------------------------------------------------------

(Hold off on this for a moment though; I'll do a few experiments to
verify that I'm right in my explanation of that old phenomenon.)


Post a reply to this message

From: clipka
Subject: Re: Finish-level Fresnel
Date: 21 Dec 2016 11:39:14
Message: <585ab032$1@news.povray.org>
Am 21.12.2016 um 16:35 schrieb clipka:

> So we might just as well replace the entire section with something like:
> -------------------------------------------------------
> exponent
> This property pre-dates the introduction of proper gamma handling.
> People found that it was difficult to model partially reflective
> surfaces in a realistic way, as middle and lower brightness objects
> typically looked too bright when reflected. As a means work around the
> phenomenon the optional exponent keyword was added, producing non-linear
> reflection intensities. The default value of 1.0 produces a linear
> curve. Lower values darken middle and low intensities and keep high
> intensity reflections bright. While this feature may still be used for
> artistic effects, it is strongly discouraged for renders aiming at
> realism. The original phenomenon is well understood by now, and using
> "assumed_gamma 1.0" as recommended will avoid it entirely.
> -------------------------------------------------------
> 
> (Hold off on this for a moment though; I'll do a few experiments to
> verify that I'm right in my explanation of that old phenomenon.)

Go ahead. My hypothesis turns out to fit nicely.


Post a reply to this message

From: Jim Holsenback
Subject: Re: Finish-level Fresnel
Date: 21 Dec 2016 12:09:51
Message: <585ab75f$1@news.povray.org>
On 12/21/2016 10:35 AM, clipka wrote:
> As for the syntax, I've decided to take it into my own hands now.

good thing i'm /going with the flow/ ... i've touched this waaaay too 
many times to justify my further involvement with the issues on this 
page. btw: look at the old page and see that i've /done/ a lot to clean 
up the one big gigantic run one sentence that this page /was/ before i 
got hold of it

> You know that something is utterly wrong with the structure of a page if
> the table of contents is preceded by an entire 2 pages worth of text.

this is a side-effect of the half-baked reference re-sectioning that i 
was opposed to at 3.7 release ... added __NOTOC__ to suppress table of 
contents

>
> I think the description of the finish-level `fresnel` keyword and its
> effect is utterly misplaced there, and should instead be given a section
> of its own

disagree ... but it's in your hands now ... correct?

> (In a similar vein, I think the `use_alpha` keyword is also misplaced.
> There's not much to say about it, but it is a dedicated feature
> nonetheless, and shouldn't be in the section that deals with finish /per
> se/.)

disagree on the placement issue here as well

>
>
> The "Diffuse", "Phong" and "Specular" sections still have the "fresnel"
> keyword appearing in examples that seems to no longer have any
> connection to that keyword.
>
> Speaking of the "Diffuse" section, the description of the example in
> there has struck my as rather odd:
>
> -------------------------------------------------------
> finish { diffuse albedo 0.7 fresnel }
>
> Means that 70% of the light seen comes from direct illumination from
> light sources. The default value for diffuse is 0.6.
> -------------------------------------------------------
>
> In this form this is nonsense: "the light seen" that "comes from direct
> illumination from light sources" would also include highlights.
>
> I'd suggest something along the following lines:
> -------------------------------------------------------
> finish { diffuse albedo 0.7 }
>
> means that a white object with this finish reflects 70% of all incoming
> light /diffusely/.
> -------------------------------------------------------
>
>
> On to the "Phong" and "Specular" sections: In both of these, the
> `albedo` keyword description was inserted in a section that deals with
> `phong_size` or `roughness`, respectively, now leaving the sentence "If
> phong/specular is not specified phong_size/roughmess has no effect."
> dangling, disconnected from the section it belongs to.
>
>
> Also, the description of the reflection's `exponent` parameter is pretty
> bogus (but that's not your fault): Claiming that "POV-Ray uses a limited
> light model that cannot distinguish between objects which are simply
> brightly colored and objects which are extremely bright" is just plain
> wrong.
>
> I guess the text is just the result of people struggling to find an
> explanation for a phenomenon they failed to understand back then, which
> can now be named with just one word: Gamma!
>
> The text mentions "partially reflective surfaces". Now while most
> operations in the render engines _multiply_ colours, in this particular
> case colours are _added_ - namely the object's own colour and the
> reflected colour. And while multiplications work fine in any power-law
> gamma colour space, additions absolutely positively don't. In
> "assumed_gamma 2.2" mode, "middle and lower brightness objects typically
> look too bright" when another colour is added to them.
>
> So we might just as well replace the entire section with something like:

done ...

> -------------------------------------------------------
> exponent
> This property pre-dates the introduction of proper gamma handling.
> People found that it was difficult to model partially reflective
> surfaces in a realistic way, as middle and lower brightness objects
> typically looked too bright when reflected. As a means work around the
> phenomenon the optional exponent keyword was added, producing non-linear
> reflection intensities. The default value of 1.0 produces a linear
> curve. Lower values darken middle and low intensities and keep high
> intensity reflections bright. While this feature may still be used for
> artistic effects, it is strongly discouraged for renders aiming at
> realism. The original phenomenon is well understood by now, and using
> "assumed_gamma 1.0" as recommended will avoid it entirely.
> -------------------------------------------------------
>
> (Hold off on this for a moment though; I'll do a few experiments to
> verify that I'm right in my explanation of that old phenomenon.)
>


Post a reply to this message

From: omniverse
Subject: Re: Finish-level Fresnel
Date: 21 Dec 2016 13:05:01
Message: <web.585ac3a366b60a149c5d6c810@news.povray.org>
Although the following paragraph mentions refraction, but only to say the
treatment is as though ior=1, maybe there should be at least a note about ior >1
affecting (or activating?) fresnel finish.

quote:
In the following example the diffuse, phong and specular syntax, which is
normally used to specify the effective bi-hemispheric albedo of that respective
component, does not work as advertised when finish-level fresnel is set to
non-zero. Instead, diffuse will specify the albedo that the object would exhibit
if it had a refractive index of 1, while phong and specular will specify the
albedo that the object would exhibit if it had an infinitely large refractive
index. As a result, while you would normally want to choose parameters such that
D_Value + P_Value + S_Value <= 1. With finish-level fresnel set to a non-zero
value you would want to choose parameters such that D_Value <= 1 and P_Value +
S_Value <= 1. For optimal realism, you should specify the settings as noted
below, and control the brightness of the diffuse component via the layer
pigment.


Post a reply to this message

From: clipka
Subject: Re: Finish-level Fresnel
Date: 21 Dec 2016 18:08:35
Message: <585b0b73@news.povray.org>
Am 21.12.2016 um 18:09 schrieb Jim Holsenback:
> On 12/21/2016 10:35 AM, clipka wrote:
>> As for the syntax, I've decided to take it into my own hands now.
> 
> good thing i'm /going with the flow/ ... i've touched this waaaay too
> many times to justify my further involvement with the issues on this
> page. btw: look at the old page and see that i've /done/ a lot to clean
> up the one big gigantic run one sentence that this page /was/ before i
> got hold of it

Care to define "old" page?


>> You know that something is utterly wrong with the structure of a page if
>> the table of contents is preceded by an entire 2 pages worth of text.
> 
> this is a side-effect of the half-baked reference re-sectioning that i
> was opposed to at 3.7 release ... added __NOTOC__ to suppress table of
> contents

... which now makes the thing inconsistent with the other pages (e.g.
http://wiki.povray.org/content/Reference:Light_Source). Meh.

With the pages on the Wiki being as long as they are, I'd really love to
have a TOC in there. Preferably high up on the page. Maybe the simplest
way to achieve this would be to insert a heading before the syntax pane
on all those pages. (If that sits well with you, but you don't want to
be burdened with the work, let me know and I'll do the edits.)

>> I think the description of the finish-level `fresnel` keyword and its
>> effect is utterly misplaced there, and should instead be given a section
>> of its own
> 
> disagree ... but it's in your hands now ... correct?

I don't know. Is it? How about the rest of the docs?

I just grabbed hold of the syntax because it absolutely positively
failed to match the code, there was no ambiguity in how it would have to
be fixed, and I realized it would be far easier to just do the changes
than go into a lengthy discussion with you why it was wrong. I even
resisted a brief urge to do other changes to the syntax pane, such as
re-ordering the finish items.


Post a reply to this message

From: Stephen
Subject: Re: Finish-level Fresnel
Date: 21 Dec 2016 18:30:49
Message: <585b10a9$1@news.povray.org>
On 12/21/2016 11:08 PM, clipka wrote:
> and I realized it would be far easier to just do the changes
> than go into a lengthy discussion with you why it was wrong. I even
> resisted a brief urge to do other changes to the syntax pane, such as
> re-ordering the finish items.


Wouldn't it be far easier to write it yourself and let Jim check it then 
insert it?
It would probable be quicker and you would have nothing to correct.

-- 

Regards
     Stephen


Post a reply to this message

From: Jim Holsenback
Subject: Re: Finish-level Fresnel
Date: 21 Dec 2016 20:45:23
Message: <585b3033$1@news.povray.org>
On 12/21/2016 6:08 PM, clipka wrote:
> Am 21.12.2016 um 18:09 schrieb Jim Holsenback:
>> On 12/21/2016 10:35 AM, clipka wrote:
>>> As for the syntax, I've decided to take it into my own hands now.
>>
>> good thing i'm /going with the flow/ ... i've touched this waaaay too
>> many times to justify my further involvement with the issues on this
>> page. btw: look at the old page and see that i've /done/ a lot to clean
>> up the one big gigantic run one sentence that this page /was/ before i
>> got hold of it
>
> Care to define "old" page?

what was released @ 3.7
>
>
>>> You know that something is utterly wrong with the structure of a page if
>>> the table of contents is preceded by an entire 2 pages worth of text.
>>
>> this is a side-effect of the half-baked reference re-sectioning that i
>> was opposed to at 3.7 release ... added __NOTOC__ to suppress table of
>> contents
>
> ... which now makes the thing inconsistent with the other pages (e.g.
> http://wiki.povray.org/content/Reference:Light_Source). Meh.

you griped and i responded ... the ___NOTOC___ wiki markup appears in 
more than several pages even had to create a filter in wikidocgen to 
remove from the content because it's /not/ html

>
> With the pages on the Wiki being as long as they are, I'd really love to
> have a TOC in there. Preferably high up on the page. Maybe the simplest
> way to achieve this would be to insert a heading before the syntax pane
> on all those pages. (If that sits well with you, but you don't want to
> be burdened with the work, let me know and I'll do the edits.)

wiki only creates TOC in pages with more than 3 headings ...

>
>>> I think the description of the finish-level `fresnel` keyword and its
>>> effect is utterly misplaced there, and should instead be given a section
>>> of its own
>>
>> disagree ... but it's in your hands now ... correct?
>
> I don't know. Is it? How about the rest of the docs?
>
> I just grabbed hold of the syntax because it absolutely positively
> failed to match the code, there was no ambiguity in how it would have to
> be fixed, and I realized it would be far easier to just do the changes
> than go into a lengthy discussion with you why it was wrong. I even
> resisted a brief urge to do other changes to the syntax pane, such as
> re-ordering the finish items.
>


Post a reply to this message

From: Jim Holsenback
Subject: Re: Finish-level Fresnel
Date: 21 Dec 2016 20:53:18
Message: <585b320e$1@news.povray.org>
On 12/21/2016 6:30 PM, Stephen wrote:
> On 12/21/2016 11:08 PM, clipka wrote:
>> and I realized it would be far easier to just do the changes
>> than go into a lengthy discussion with you why it was wrong. I even
>> resisted a brief urge to do other changes to the syntax pane, such as
>> re-ordering the finish items.
>
>
> Wouldn't it be far easier to write it yourself and let Jim check it then
> insert it?
> It would probable be quicker and you would have nothing to correct.
>

you'd think so wouldn't you ... i'm (rather was) perfectly ok with 
taking prose then doing the html mark up but i can't seem to get 
cooperation on that


Post a reply to this message

From: clipka
Subject: Re: Finish-level Fresnel
Date: 21 Dec 2016 23:59:27
Message: <585b5daf$1@news.povray.org>
Am 22.12.2016 um 02:45 schrieb Jim Holsenback:
> On 12/21/2016 6:08 PM, clipka wrote:
>> Am 21.12.2016 um 18:09 schrieb Jim Holsenback:
>>> On 12/21/2016 10:35 AM, clipka wrote:
>>>> As for the syntax, I've decided to take it into my own hands now.
>>>
>>> good thing i'm /going with the flow/ ... i've touched this waaaay too
>>> many times to justify my further involvement with the issues on this
>>> page. btw: look at the old page and see that i've /done/ a lot to clean
>>> up the one big gigantic run one sentence that this page /was/ before i
>>> got hold of it
>>
>> Care to define "old" page?
> 
> what was released @ 3.7

To be honest, I don't really see any major changes to the Finish page
between the first import to the Wiki and today, with the sole exception
of the cleanup of ambient/emission and the reflection exponent stuff.

You sure are thinking of some other page there, right?

>>>> You know that something is utterly wrong with the structure of a
>>>> page if
>>>> the table of contents is preceded by an entire 2 pages worth of text.
>>>
>>> this is a side-effect of the half-baked reference re-sectioning that i
>>> was opposed to at 3.7 release ... added __NOTOC__ to suppress table of
>>> contents
>>
>> ... which now makes the thing inconsistent with the other pages (e.g.
>> http://wiki.povray.org/content/Reference:Light_Source). Meh.
> 
> you griped and i responded ... the ___NOTOC___ wiki markup appears in
> more than several pages even had to create a filter in wikidocgen to
> remove from the content because it's /not/ html

... and I'm speaking out loud what I think of it. I didn't gripe because
of the presence of a TOC 2 pages down the text, but because it took 2
pages of scrolling to get to those TOC, and because of the length and
content of those 2 pages.

>> With the pages on the Wiki being as long as they are, I'd really love to
>> have a TOC in there. Preferably high up on the page. Maybe the simplest
>> way to achieve this would be to insert a heading before the syntax pane
>> on all those pages. (If that sits well with you, but you don't want to
>> be burdened with the work, let me know and I'll do the edits.)
> 
> wiki only creates TOC in pages with more than 3 headings ...

Any way to force it to? Maybe a "__TOC__"?

Also, if a page has just 3 headings but is long enough that the reader
would wish for a TOC, then maybe that page would deserve more structuring?


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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