POV-Ray : Newsgroups : povray.beta-test : Finish block dispersion handling. v3.8 (and v3.7). : Re: Finish block dispersion handling. v3.8 (and v3.7). Server Time
2 Aug 2021 03:10:49 EDT (-0400)
  Re: Finish block dispersion handling. v3.8 (and v3.7).  
From: clipka
Date: 5 Jul 2021 08:39:23
Message: <60e2fd7b$1@news.povray.org>
Am 05.07.2021 um 14:25 schrieb Kenneth:

> 1) Using ONLY dispersion and dispersion_samples in a finish{}block, PLUS an
> interior{ior} block:
> 
> Possible Parse Error: Unmatched {
> ....
> Parse Error: No matching }, dispersion found instead
> 
> [This warning message makes no sense, IMO]

It does, because `dispersion` does not belong in `finish`, and never did.

> 2) Using BOTH ior and dispersion/dispersion_samples in a finish{} block, but NO
> interior {} block:
> 
> Parse Warning: Index of refraction value should be specified in 'interior{...}'
> statement...   Use of this syntax may not be backwards compatible with earlier
> versions of POV-Ray.
> Possible Parse Error: Unmatched {
> ....
> Parse Error: No matching }, dispersion found instead
> 
> [The 'Parse Warning' part of this message seems to indicate that such syntax can
> (or could) be used at some point in the past...but it completely fails in 3.8xx
> -- which makes the 'backwards-compatible' part of the warning no longer
> necessary or even meaningful now. In other words, how can such syntax be used at
> all now if it produces a fatal error anyway? ]

Using `ior` in `finish` _was_ valid official syntax at some point, and 
you only get a warning for it. Using `dispersion` alongside of it has 
_never_ been valid in `finish`, and you get an error for even trying.

> If the 'dispersion' feature was newly added in v3.5-- and was apparently usable
> in a finish{} block at that point(?)-- at what point in POV-ray's later
> development did such syntax start causing *fatal* errors?

Refraction parameters had been deprecated in `finish` even before 
`dispersion` was added to the set of refraction parameters. Using the 
latter in `finish` would _always_ have raised a fatal error: Originally 
because `dispersion` wasn't a thing at all, and later because once it 
became a thing, refraction parameters in `finish` had already ceased to 
be a thing.


Post a reply to this message

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