|
![](/i/fill.gif) |
I have moved the discussion on this topic out of the beta-test group.
Sorry if this is a bit wordy, but I want to try to explain what I am doing
as best I can.
The problem I have brought up with colour clipping surfaced for me because
of the following experimentations but are not necessarily limited to them.
I have been experimenting with using 'real' highlights as opposed to the
specular or phong ones. Specular and phong highlights can simulate
highlights caused by point lights or shperical light sources, but when the
light source is non-spherical they don't work. The highlight is really a
reflection of the light source itself and should thus correspond to the
shape of the light source. In my examples I use spherical lights just for
simplistic purposes, also when I refer to the light source, I am refering
to the object representing the light, not the light source itself. Higlhy
reflective surfaces don't cause much of a problem, simply use regular rgb
values and an ambient value of 1. But with materials that don't reflect as
much (or even applicable to transparency) such as plastic, not much is
visible, but the light source and it's corresponding highlight will be much
more visible than surrounding objects because of its brightness. To get
this effect to work properly we need to increase the rgb values or ambient
value of the light source, the brighter the light (i.e., 60W, 100W, or
whatever) the higher these values would be.
This will work fine for any rgb value using 1s or 0s (i.e. <1,1,1>, <1,0,0>,
<1,1,0>, etc.) but because of colour clipping if we use other values, the
colours don't come out as expected (i.e., for an orange light, rgb<1,0.5,0>,
with a high ambient, say 10, the colour becomes <1,1,0> or yellow). If you
refer to the following scenes, the three spheres in the centre use fresnel
type feflection with ior values from left to right of 25, 1.5, 1. The
sphere at the bottom is a regular orange sphere with no ambient finish for
reference the point light colour is rgb<1,0.5,0> and the lightbulb is a
sphere colour rgb <1,0.5,0>. To increase the brightness I have varied the
ambient value of the lightbulb.
In the first scene the ambient is 1. The lightbulb looks orange and the
reflection in the left sphere is orange. The reflection in the middle
sphere is orange as well, but it is very dim, not how you would expect to
see the lightbulb reflection.
After a bit of testing, the second scene uses an ambient of 20. The
reflection in the centre sphere is now more like we want, a bright visible
orange compared to the rest of the reflection. But now, because of colour
clipping, the actual lightbulb and the reflection in the left spere are no
longer orange, but are now yellow (i.e., rgb<1,0.5,0>*20=rgb<20,10,0>
becomes rgb<1,1,0>)
I hope this explainswhat I am trying to do a lot better. Please let me know
your comments, questions or suggestions.
-tgq
Post a reply to this message
Attachments:
Download 'CCA01.jpg' (47 KB)
Download 'CCA20.jpg' (47 KB)
Preview of image 'CCA01.jpg'
![CCA01.jpg](/povray.binaries.images/attachment/%3C3c07bf45%40news.povray.org%3E/CCA01.jpg?preview=1)
Preview of image 'CCA20.jpg'
![CCA20.jpg](/povray.binaries.images/attachment/%3C3c07bf45%40news.povray.org%3E/CCA20.jpg?preview=1)
|
![](/i/fill.gif) |