POV-Ray : Newsgroups : povray.beta-test : Finish block dispersion handling. v3.8 (and v3.7). : Finish block dispersion handling. v3.8 (and v3.7). Server Time
19 Apr 2024 06:28:35 EDT (-0400)
  Finish block dispersion handling. v3.8 (and v3.7).  
From: William F Pokorny
Date: 1 Jul 2021 07:37:40
Message: <60dda904$1@news.povray.org>
Expect not much of an issue given how long it's been this way, but, FWIW...

---
For backward compatibility we support some interior keywords in the 
finish block too. The related finish variables are Temp_Caustics, 
Temp_IOR, Temp_Dispersion and Temp_Refract.

The documentation doesn't indicate dispersion was ever previously 
supported for the finish block, but we have partial code for it.

The finish block parsing is missing for Temp_Dispersion. User's having 
scenes with finish block dispersion get syntax errors.

Taking the ior as being specified in the finish block, if a user were to 
specify dispersion in the interior block, as our documentation 
indicates, they get confusing results due this code in object.cpp:

if (Finish->Temp_IOR >= 0.0)
{
     Object->interior->IOR = Finish->Temp_IOR;
     Object->interior->Dispersion = Finish->Temp_Dispersion;
}

The defaulted Finish->Temp_Dispersion value (1.0) is used and the user 
has no way to override the default due the lack of finish { dispersion } 
parsing.

And, yes, users can mix the interior vs finish block definitions 
supported in both blocks in confusing ways. We don't warn that 
conflicting definitions are a problem, and, such conflicts are not 
flagged during parsing. A finish block ior>0.0 overrides any ior set in 
the interior block.

---
Aside:
The compatibility warning message when you specify, for example, ior in 
the finish block is misleading. All about backwards compatibility when 
the concern is, I believe, forward compatibility.

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.

Bill P.


Post a reply to this message

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