|
![](/i/fill.gif) |
"Thorsten Froehlich" <tho### [at] trf de> 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
|
![](/i/fill.gif) |