POV-Ray : Newsgroups : povray.beta-test : Texture testing needed Server Time
29 Apr 2024 17:44:29 EDT (-0400)
  Texture testing needed (Message 24 to 33 of 43)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: William F Pokorny
Subject: Re: Texture testing needed
Date: 31 Aug 2016 15:07:34
Message: <57c72af6$1@news.povray.org>
On 08/31/2016 01:16 PM, clipka wrote:
> Am 31.08.2016 um 16:12 schrieb William F Pokorny:
>
>> A - POV-Ray 3.7.0.unofficial
>>
>> B - POV-Ray 3.7.1-alpha.8764097.unofficial (current 3.7.1)
>>
>> C - POV-Ray 3.7.1-alpha.8738139.unofficial (refactor/texture)
>>
>> Is showing differences in all three when run with radiosity. See the
>> attached image where A, B and C shown left to right.
>>
>> If run without radiosity A & C match well, but our current 3.7.1 is
>> still different.
>>
>> If run without radiosity and finish statements A, B & C match well, so
>> something is different in finish {} with our current 3.7.1.
>>
>> Unsure what might be expected and not. Where would you like to go from
>> here?
>
> Just to make sure -- you're saying that the version to be tested (the
> refactor/texture one) matches good old 3.7.0, while the current version
> that you used as reference shows differences?

Only with radiosity off does the re-factored code match 3.7.0 - 
otherwise none of the three match exactly.

>
> My first instinct would be "duh! accidently fixed something along the
> way!" But that might be misleading, as I might have instead accidently
> removed a fix for something that was broken in 3.7.0.
>
> The first thing I would like you to do is let me know the details of the
> finish you were using. I presume this is not just an empty `finish{}`
> block, right?
>

No it is not empty. I'll dig more to try and figure out which finish 
statement(s) cause the difference & report back.

For the moment I am still working through the collection of materials I 
have just see if they all work & what the differences are. Still the 
case I've hit nothing that dies outright.

I'm also not sure if the aim is to always exactly match 3.7.0? In the 
case of media for example, we know we don't match 3.7.0 to 3.7.1, but we 
are happier with the 3.7.1 result.

Bill P.


Post a reply to this message

From: clipka
Subject: Re: Texture testing needed
Date: 31 Aug 2016 15:53:51
Message: <57c735cf$1@news.povray.org>
Am 31.08.2016 um 21:07 schrieb William F Pokorny:
> On 08/31/2016 01:16 PM, clipka wrote:
>> Am 31.08.2016 um 16:12 schrieb William F Pokorny:
>>
>>> A - POV-Ray 3.7.0.unofficial
>>>
>>> B - POV-Ray 3.7.1-alpha.8764097.unofficial (current 3.7.1)
>>>
>>> C - POV-Ray 3.7.1-alpha.8738139.unofficial (refactor/texture)
>>>
>>> Is showing differences in all three when run with radiosity. See the
>>> attached image where A, B and C shown left to right.
>>>
>>> If run without radiosity A & C match well, but our current 3.7.1 is
>>> still different.
>>>
>>> If run without radiosity and finish statements A, B & C match well, so
>>> something is different in finish {} with our current 3.7.1.
>>>
>>> Unsure what might be expected and not. Where would you like to go from
>>> here?
>>
>> Just to make sure -- you're saying that the version to be tested (the
>> refactor/texture one) matches good old 3.7.0, while the current version
>> that you used as reference shows differences?
> 
> Only with radiosity off does the re-factored code match 3.7.0 -
> otherwise none of the three match exactly.

That is to be expected, unless you choose particularly high-quality
settings.

You can also increase the chances of identical results by using the
`+HR` command-line switch.

> I'm also not sure if the aim is to always exactly match 3.7.0? In the
> case of media for example, we know we don't match 3.7.0 to 3.7.1, but we
> are happier with the 3.7.1 result.

Yes, but there's a reason why we threw backward compatibility overboard
(to some degree) and changed the media code: The old implementation had
a bug, and computed demonstrably wrong results for low quality settings.
The implementation obviously failed to match the intention.

There is no reason (or at least none that I'm currently aware of) to
think that there is a similar problem with the 3.7.0 finish
computations. One might debate whether the shading models chosen by the
original developers are a good choice (spoiler alert: I think they are
reasonably good, except for the "brilliance" parameter), but their
implementation seems to be correct. The implementation does seem to
match the intention.


Post a reply to this message

From: William F Pokorny
Subject: Re: Texture testing needed
Date: 31 Aug 2016 17:48:24
Message: <57c750a8$1@news.povray.org>
On 08/31/2016 03:53 PM, clipka wrote:
>> Only with radiosity off does the re-factored code match 3.7.0 -
>>otherwise none of the three match exactly.
 >
> That is to be expected, unless you choose particularly high-quality
> settings.
>
> You can also increase the chances of identical results by using the
> `+HR` command-line switch.
>

Sorry for my use of the word 'exactly.' Ignoring for the moment our 
current 3.7.1 code, I believe there is a systemic difference in 
radiosity results between 3.7.0 and the 3.7.1-re-factored texture code.

In the attached image the first row is the original NK0065, the second a 
very simple white texture. Both run with decent radiosity settings, on 
one thread and with +HR. The left result is 3.7.0, the middle the 
re-factored code and the right is the absolute difference between results.

The bottom or third row is the same NK0065 texture run twice with the 
re-factored code. The left image is with 4 threads and the right with 8 
threads to exaggerate the run to run radiosity noise I "think" you have 
in mind.

Not shown, but if I run the third row with one thread and +HR, I get no 
difference in result run to run.

Aside: To really see the difference images well the gamma might need to 
be tweaked as you view it.

Bill P.


Post a reply to this message


Attachments:
Download 'thinkraddiffsystemic.png' (443 KB)

Preview of image 'thinkraddiffsystemic.png'
thinkraddiffsystemic.png


 

From: clipka
Subject: Re: Texture testing needed
Date: 31 Aug 2016 23:03:33
Message: <57c79a85$1@news.povray.org>
Am 31.08.2016 um 23:48 schrieb William F Pokorny:
> On 08/31/2016 03:53 PM, clipka wrote:
>>> Only with radiosity off does the re-factored code match 3.7.0 -
>>> otherwise none of the three match exactly.
>>
>> That is to be expected, unless you choose particularly high-quality
>> settings.
>>
>> You can also increase the chances of identical results by using the
>> `+HR` command-line switch.
>>
> 
> Sorry for my use of the word 'exactly.' Ignoring for the moment our
> current 3.7.1 code, I believe there is a systemic difference in
> radiosity results between 3.7.0 and the 3.7.1-re-factored texture code.

I can't ignore our current 3.7.1 code in this context, because that's my
reference for whether the refactoring broke anything. It is the nature
of refactoring that it shouldn't change the behaviour of the program. (*)

The differences I'm really interested in are:

(1) Differences between the refactored code and its closest
non-refactored sibling (**), as they would indicate that I broke
something during refactoring; and

(2) Differences between 3.7.0 and any later version of the master
branch, as they may indicate that I broke something outside the
refactored branch.

Differences between the refactored code and 3.7.0 are of little
importance to me, except as an indicator that there must also be
differences in categories (1) or (2).

In case of (1), I know I need to fix the refactored branch; in case of
(2), I know I need to fix the main branch (and merge the fix into the
refactored branch); but in case of the third kind I'm left clueless.


(* I must confess though that I tend to mix in the occasional fix for
bugs I discover during refactoring, especially if the refactoring turns
out to be the bug's "natural enemy".)

(** Ideally that would be 3.7.1-alpha.8737949 aka commit 4d52c26, dated
2016-08-12, but the closest tagged version, 3.7.1-alpha.8737777, should
be good enough for any scenes that make no use of `no_image` and its
kin; 3.7.1-alpha.8764097, the version you're using for testing, is
actually non-ideal.)


Post a reply to this message

From: William F Pokorny
Subject: Re: Texture testing needed
Date: 1 Sep 2016 08:53:51
Message: <57c824df$1@news.povray.org>
On 08/31/2016 11:03 PM, clipka wrote:
>>
>> Sorry for my use of the word 'exactly.' Ignoring for the moment our
>> current 3.7.1 code, I believe there is a systemic difference in
>> radiosity results between 3.7.0 and the 3.7.1-re-factored texture code.
>
> I can't ignore our current 3.7.1 code in this context, because that's my
> reference for whether the refactoring broke anything. It is the nature
> of refactoring that it shouldn't change the behaviour of the program. (*)
>
> The differences I'm really interested in are:
>
> (1) Differences between the refactored code and its closest
> non-refactored sibling (**), as they would indicate that I broke
> something during refactoring; and
>
> (2) Differences between 3.7.0 and any later version of the master
> branch, as they may indicate that I broke something outside the
> refactored branch.
>
> Differences between the refactored code and 3.7.0 are of little
> importance to me, except as an indicator that there must also be
> differences in categories (1) or (2).
>
> In case of (1), I know I need to fix the refactored branch; in case of
> (2), I know I need to fix the main branch (and merge the fix into the
> refactored branch); but in case of the third kind I'm left clueless.
>
>
> (* I must confess though that I tend to mix in the occasional fix for
> bugs I discover during refactoring, especially if the refactoring turns
> out to be the bug's "natural enemy".)
>
> (** Ideally that would be 3.7.1-alpha.8737949 aka commit 4d52c26, dated
> 2016-08-12, but the closest tagged version, 3.7.1-alpha.8737777, should
> be good enough for any scenes that make no use of `no_image` and its
> kin; 3.7.1-alpha.8764097, the version you're using for testing, is
> actually non-ideal.)
>

OK. The 3.7.0 -> 3.7.1 radiosity differences - and it turns out small 
shifts in shadow edges without radiosity that I didn't see until 
rendering larger images - are mostly (perhaps all?) attributable to:

c891131 - Fixed two mesh camera bugs and other camera flaws.

which itself introduced an AA/shift issue until:

3c07635 - Fix GitHub issue #63.

As such I think we should just ignore related differences as we 
certainly want those camera fixes.

------------
I've moved to 3.7.1-alpha.8737949 for the 3.7.1 baseline.

Let me see if I can run down the finish difference today.

Any idea yet why we are getting the new shadow cache message in the 
re-factored code and the largish differences in shadow ray counts?

I turned up other results differing quite a bit across versions, but 
I'll need to re-run those I guess with the new 3.7.1 baseline for starters.

Bill P.


Post a reply to this message

From: William F Pokorny
Subject: Re: Texture testing needed
Date: 1 Sep 2016 09:12:41
Message: <57c82949$1@news.povray.org>
On 09/01/2016 08:53 AM, William F Pokorny wrote:
>
> OK. The 3.7.0 -> 3.7.1 radiosity differences - and it turns out small
> shifts in shadow edges without radiosity that I didn't see until
> rendering larger images - are mostly (perhaps all?) attributable to:
>
> c891131 - Fixed two mesh camera bugs and other camera flaws.
>
> which itself introduced an AA/shift issue until:
>
> 3c07635 - Fix GitHub issue #63.
>
> As such I think we should just ignore related differences as we
> certainly want those camera fixes.
>

Forget the shadow edges difference - these are isosurface artifacts 
introduced in between c891131 and 3c07635. Fixed in :

0889275 - Fix isosurface bug introduced with commit a10629b.

Bill P.


Post a reply to this message

From: William F Pokorny
Subject: Re: Texture testing needed
Date: 1 Sep 2016 09:34:14
Message: <57c82e56$1@news.povray.org>
On 09/01/2016 08:53 AM, William F Pokorny wrote:
> On 08/31/2016 11:03 PM, clipka wrote:
> ------------
> I've moved to 3.7.1-alpha.8737949 for the 3.7.1 baseline.
>
> Let me see if I can run down the finish difference today.
>

The finish difference seen between 3.7.1-alpha.8737949 and 
(refactor/texture) seems to be related to having a brilliance value > 1.0.

I think this probably the cause for a great many of the other 
differences I have seen. I'm going to hold off further testing until 
there is a fix for this in the (refactor/texture) branch.

Scene file is attached.

Bill P.


Post a reply to this message


Attachments:
Download 'nk0065__c.pov.txt' (5 KB)

From: clipka
Subject: Re: Texture testing needed
Date: 1 Sep 2016 09:51:21
Message: <57c83259$1@news.povray.org>
Am 01.09.2016 um 14:53 schrieb William F Pokorny:

> Any idea yet why we are getting the new shadow cache message in the
> re-factored code and the largish differences in shadow ray counts?

Not yet; but maybe they are somehow related.


Post a reply to this message

From: William F Pokorny
Subject: Re: Texture testing needed
Date: 1 Sep 2016 10:46:53
Message: <57c83f5d$1@news.povray.org>
On 09/01/2016 09:34 AM, William F Pokorny wrote:
> On 09/01/2016 08:53 AM, William F Pokorny wrote:
>> On 08/31/2016 11:03 PM, clipka wrote:
>> ------------
>> I've moved to 3.7.1-alpha.8737949 for the 3.7.1 baseline.
>>
>> Let me see if I can run down the finish difference today.
>>
>
> The finish difference seen between 3.7.1-alpha.8737949 and
> (refactor/texture) seems to be related to having a brilliance value > 1.0.
>
> I think this probably the cause for a great many of the other
> differences I have seen. I'm going to hold off further testing until
> there is a fix for this in the (refactor/texture) branch.
>
> Scene file is attached.
>
> Bill P.

FYI - I was able to track the change in brilliance > 1 behavior all the 
way back to commit :

54b283a - Improved finish features for more realism:

of July 23, 2014!

Good news is I believe refactor/texture has it right.

Bill P.


Post a reply to this message

From: clipka
Subject: Re: Texture testing needed
Date: 1 Sep 2016 11:52:42
Message: <57c84eca$1@news.povray.org>
Am 01.09.2016 um 16:46 schrieb William F Pokorny:

> FYI - I was able to track the change in brilliance > 1 behavior all the
> way back to commit :
> 
> 54b283a - Improved finish features for more realism:
> 
> of July 23, 2014!
> 
> Good news is I believe refactor/texture has it right.

That commit shouldn't have changed a thing for existing scenes; all the
added features should require extra keywords to enable: Radiosity
support for brilliance, for instance, should require `brilliance on` in
the radiosity block.


BTW, with all the updates you have sent, I notice that I'm losing track
of which differences in output you've noticed between our "cornerstone"
versions (official 3.7.0, feature/texture branch, and recent master
branch), what features you have found to be involved in those
differences, and what you have already managed to dig up about the exact
commit that changed the behaviour. If you could give me a summary, that
would be highly welcome.

(Sorry if I'm pestering you with this; I want you to know that your
research into this matter is very much appreciated.)


Post a reply to this message

<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>

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