POV-Ray : Newsgroups : povray.beta-test : Texture testing needed Server Time
28 Apr 2024 17:12:40 EDT (-0400)
  Texture testing needed (Message 21 to 30 of 43)  
<<< Previous 10 Messages Goto Latest 10 Messages Next 10 Messages >>>
From: clipka
Subject: Re: Texture testing needed
Date: 31 Aug 2016 13:03:09
Message: <57c70dcd$1@news.povray.org>
Am 31.08.2016 um 17:52 schrieb William F Pokorny:
> On 08/31/2016 10:12 AM, William F Pokorny wrote:
>> On 08/09/2016 07:55 PM, clipka wrote:
>>
>> Bill P.
> 
> Having looked at more results I have seen nothing which dies outright as
> yet. About a third run so far have little change across the three
> versions. The rest do and I'd say mostly in the shadows. There is I see
> a new shadow cache message out of the refactored code.

What do you mean by that last sentence? Do you mean there's a new
warning during compilation or some such?

Since shadow cache handling happens in `source/core/render/trace.cpp`,
I've had a cursory glance over the differences between the two branches,
but didn't notice anything obvious related to the shadow cache.

Can you name the exact location where you "see a new shadow cache
message", and what that message actually is?


Post a reply to this message

From: clipka
Subject: Re: Texture testing needed
Date: 31 Aug 2016 13:16:34
Message: <57c710f2$1@news.povray.org>
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?

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?


Post a reply to this message

From: William F Pokorny
Subject: Re: Texture testing needed
Date: 31 Aug 2016 14:56:13
Message: <57c7284d$1@news.povray.org>
On 08/31/2016 01:03 PM, clipka wrote:
> Am 31.08.2016 um 17:52 schrieb William F Pokorny:
>> On 08/31/2016 10:12 AM, William F Pokorny wrote:
>>> On 08/09/2016 07:55 PM, clipka wrote:
>>>
>>> Bill P.
>>
>> Having looked at more results I have seen nothing which dies outright as
>> yet. About a third run so far have little change across the three
>> versions. The rest do and I'd say mostly in the shadows. There is I see
>> a new shadow cache message out of the refactored code.
>
> What do you mean by that last sentence? Do you mean there's a new
> warning during compilation or some such?
>
> Since shadow cache handling happens in `source/core/render/trace.cpp`,
> I've had a cursory glance over the differences between the two branches,
> but didn't notice anything obvious related to the shadow cache.
>
> Can you name the exact location where you "see a new shadow cache
> message", and what that message actually is?
>

In the re-factored code I see the new message just below the usual 
shadow ray test message as in:

Shadow Ray Tests:            345087   Succeeded:                 33718
Shadow Cache Hits:            31372

The 3.7.0 and current 3.7.1 has just:

Shadow Ray Tests:            422995   Succeeded:                 66614

and

Shadow Ray Tests:            410766   Succeeded:                 66001

respectively.

I've run a good bit more and I now wondering if some of the differences 
in shadows are not tangled in the normal handling. Really smooth 
results, as for example with Jaime's car paint materials, show no 
differences.

Bill P.


Post a reply to this message

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)

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

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