|
|
On 1/17/24 13:24, Alain Martel wrote:
> My guess :
> importance is an object property, just like a pigment, texture or
> finish. You set it globally in the default block to set the default
> importance value to be used by most objects, and you set it per object
> to a larger value for relatively small and bright objects.
I think that's a pretty good guess as to how it came about. To my mind,
it is a global radiosity setting which changes how radiosity works
overall. Expect I'll move it to global_settings { radiosity{} } in yuqk.
>
> The default block is used to set some default properties for objects
> that don't have explicit properties.
> Originally, it was used to set a default texture or texture component
> such as pigment or finish.
Understand.
> It have been extended to also be able to set
> default interior, SSLT and radiosity properties of objects.
No. The only options currently available within default{} are:
texture{}, pigment{}, normal{}, finish{}, radiosity{ importance <0..1
float> } and camera{}.
There is an open github issue requesting that default{} support
interior{}, but it's never been implemented(a):
https://github.com/POV-Ray/povray/issues/246
Port of FS319 - Add interior to #default directive #246
No SSLT and radiosity properties have been added to any official POV-Ray
releases of which I am aware. Maybe it's been done somewhere?
Bill P.
(a) One of the things a little clunky with v3.8 is all objects now have
an interior{} created. I think clipka did this to support the finish
level fresnel work which 'requires' a default ior of >1.0 (He tended to
use 1.5 and behavior is somewhat tuned for 1.5). However, today, the
interior default ior is 1.0 - and we are carrying around a bunch of
interior{}s we don't need.
Aside: Somewhat on the github request #246. It should be we can use:
default { finish { ior 1.5 } }
to default the automatically created interior's IORs. However, something
either wasn't maintained correctly over time for backward compatibility
or never implemented correctly. I suspect an order of operations problem
in the object post processing, but who knows. The code below works:
object {
Iso99
texture {
pigment { rgbt <0,0.1,0,0.9> } finish { ior 1.5 } }
}
object {
Iso99
texture {
pigment { rgbt <0,0.1,0,0.9> } finish { ior 1.5 } }
interior {}
}
(yuqk is on a path to two IORs. One for interiors / refraction in the
interior{} block. One for surfaces and reflection related effects in the
finish{} block. Started the work a long while ago now... Someday!)
Bill P.
Post a reply to this message
|
|