|
|
I'm changing the way the `finish` keyword will act when specified right
inside the `finish` block.
The future syntax will be as follows:
FINISH:
finish { [FINISH_IDENTIFIER] [FINISH_ITEMS...] }
FINISH_ITEMS:
... | fresnel FLOAT | ...
Setting this to `on` (=1) will cause POV-Ray to realistically account
for the Fresnel effect in all of the following features:
- ambient
- diffuse
- emission
- phong
- specular
Setting this to `off` (=0) will cause POV-Ray to revert to the default
behaviour.
The parameter can also be set to an intermediate value, in order to
allow for the (approximate) modelling of anti-rective coatings.
_Interaction with Albedo_:
The `diffuse albedo DIFFUSE`, `phong albedo PHONG` and `specular albedo
SPECULAR` syntax, which is normally used to specify the effective
_bihemispherical albedo_ of that respective component, does not work as
advertised when finish-level `fresnel` is set to non-zero. Instead,
`diffuse albedo DIFFUSE` will specify the albedo the object would
exhibit if it had a refractive index of 1, while `phong albedo PHONG`
and `specular albedo SPECULAR` will specify the albedo the object would
exhibit if it had an infinitely large refractive index.
As a result, while you would normally want to choose paramaters such
that DIFFUSE + PHONG + SPECULAR <= 1, with finish-level `fresnel` set to
a non-zero value you would want to choose parameters such that DIFFUSE
<= 1 and PHONG + SPECULAR <= 1.
For optimal realism, you should specify `diffuse albedo 1 phong albedo 0
specular albedo 1`, and control the brightness of the diffuse component
via the layer pigment.
_Interaction with Reflection_:
Setting finish-level `fresnel` will automatically activate (if set to a
non-zero value) or de-activate (if set to zero) the reflection-level
`fresnel` parameter. This can be overridden by specifying the reflection
parameters _after_ the finish-level `fresnel` parameter.
For optimal realism, the maximum reflection should be set equal to the
finish-level `fresnel` parameter, while the minimum reflection should be
set to zero.
_Interaction with Subsurface Light Transport_:
When subsurface light transport is enabled, the finish-level `fresnel`
parameter will have no effect on the diffuse feature; instead, the
feature will always act as if the parameter had been set to 1.
_Interaction with Radiosity_:
Radiosity-based illumination currently does not account for the Fresnel
effect on incoming light, regardless of the finish-level `fresnel`
parameter.
Post a reply to this message
|
|