POV-Ray : Newsgroups : povray.unofficial.patches : Bug in default texture : Re: Bug in default texture Server Time
2 Sep 2024 14:14:57 EDT (-0400)
  Re: Bug in default texture  
From: Nathan Kopp
Date: 26 Dec 1999 21:00:26
Message: <3866c83a@news.povray.org>
Sigmund Kyrre Aas <as### [at] studntnuno> wrote...
> Try rendering this in MegaPov 0.3 with and without the default{}
> statement.
> You'll see that the shadow from the transparent disc will become
> black when default{} is present.
>

I found and fixed the problem.

Here's a detailed description:

The problem was with a flag (HAS_FILTER) and another flag (POST_DONE) that
are internal properties of pigments and textures.  If a pigment has any
filter or transmit, then the HAS_FILTER flag should be set after the texture
has been parsed (what is called a post-process step).  Once that
post-processing is done, POST_DONE gets set to true.  Somehow the POST_DONE
of the default texture got copied to the object's texture.  Because of this,
MegaPov thought it already did the post-processing, and therefore HAS_FILTER
never got set.

When doing shadow computations, POV uses a shortcut:  if HAS_FILTER is not
set, then it knows that the object will block 100% of light, and therefore
does not need to waste computations calculating the texture.

In this case, HAS_FILTER was not set, so POV didn't even check to see if the
filter existed during shadow computations.

BTW, I do not know why this is not visible in the official version.
Probably a line got deleted in MegaPov during the addition of one of the
patches.

-Nathan


Post a reply to this message

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