|
|
Am 08.08.2016 um 03:54 schrieb Bald Eagle:
> I noticed this recently, and wanted to make some reference renders.
> As you can see in the bottom right, there is a pronounced magenta.
>
> It gives me a headache to look at, and I can't really puzzle out what the
> mechanism of this is.
When POV-Ray encounters a surface with `transmit T`, it computes the
effective resulting colour (`Ce`) as a weighted average of the following
two components:
- The effective colour the background would have if the surface was
entirely transparent (`Cb`).
- The effective colour the surface would have if it was opaque (`Cs`).
The weighting factors for the two components are `T` and `1-T`,
respectively. Thus, the formula is:
Ce = Cb*T + Cs*(1-T)
When POV-Ray encounters a surface with `filter F`, it computes the
effective resulting colour as a weighted average of the following two
components:
- The effective colour the background would have if the surface was
entirely transparent, multiplied by the surface's pigment colour (`Cb*Cp').
- The effective colour the surface would have if it was opaque (`Cs`).
The weighting factors for the two components are `F` and `1-F`,
respectively. Thus, the formula is:
Ce = Cb*Cp*F + Cs*(1-F)
Now how should the two mechanisms interact if both are used? In that
case, POV-Ray uses:
Ce = Cb*(Cp*F+T) + Cs*(1-F-T)
As a result, if F+T>1, `Cs` will be multiplied with a negative value,
resulting in a negative colour contribution from the surface. Add this
to a positive colour contribution from the background, and you'll get
the complementary colour, which in case of green happens to be magenta.
=> For realistic results, make sure `filter` plus `transmit` never
exceeds 1.
Post a reply to this message
|
|