POV-Ray : Newsgroups : povray.unofficial.patches : Problem with MegaPOV 0.7 (broken since 0.6A) : Re: Problem with MegaPOV 0.7 (broken since 0.6A) Server Time
1 Sep 2024 14:30:43 EDT (-0400)
  Re: Problem with MegaPOV 0.7 (broken since 0.6A)  
From: Nathan Kopp
Date: 11 Mar 2001 22:37:19
Message: <3aac446f$1@news.povray.org>
"Thorsten Froehlich" <tho### [at] trfde> wrote...
>
> I guess this is caused by the "noise" changes.

That is positively correct.  :-)

> The workaround is not to use #version more than once per scene.  The
> behavior of #version when used more than once regarding render-time
> differences between multiple official and/or unofficial versions is
> undefined.  The #version directive should be the first statement in any
> .pov file, and later switching should be avoided.

Actually, using #version in mulitple places is well defined in MegaPov.

Under these circumstances, it is a good idea to put "#version unofficial
MegaPov 0.4" as the last line in the file.

"#version unofficial" has two effects in MegaPov:

1) It affects parsing
Whichever version is in effect at any specific point in the file will
determine how that file is parsed.  Also, "#version official" can be used to
turn off the parsing of unofficial features.  It is at parse time where
"rgbf" is converted to "rgbt", so if unofficial features are turned off at
parse time, textures will be converted to so that the modified rendering
engine will render them the same way the official engine renders them.

2) It affects rendering
After parsing is done, POV will remember the last "#version" directive that
it came across.  This is used for two backwards-compatibility issues:
a) normal - If the unofficial version is below 0.3, MegaPov will use the old
(buggy) code for perturbing surface normals.
b) noise - If the unoffical version is below 0.5, MegaPov will use the old
(buggy) code for computing fractal noise.

-Nathan


Post a reply to this message

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