|
|
"Peter Popov" <pet### [at] usanet> writes:
> Hi all.
>
> This thinking task has been running at low priority in my brain for a long
> time and I think it finally rendered something worth considering. True
> specular reflection is probably one of the most discussed possible
> improvements to POV so I won't be surprised if someone else has already come
> up with the same idea. Still, please try to spare some brain clock cycles on
> this.
[...]
In my opinion, your suggestion goes in a good direction. It can even
be simplified and improved at the same time: Instead of considering
a single object it is almost as easy to determine for each sample ray
the first object that is hit. So, my idea is as follows:
Take a (spot-) light source. Shot sample rays from it. (As far as I
know this is a standard function in POV-Ray.) For each sample ray
look at the first object that intersects with the ray. If this object
is reflective, create a virtual light source at the intersection point.
Of course, this virtual light source is created according to the
properties of the surface like normal, color, and reflection.
The problem with this and your idea is -- as far as I understood the
latter -- the number of the sample rays. If the object that is lit by
our super light source has a smooth, the reflected caustics should
also be quite smooth. This means a high number of sample rays.
Furthermore, we want a uniform distribution of the sample rays, that
is not regular. Otherwise, the rays would be visible.
For the rendering of objects like a disco ball, it is furthermore
necessary that there are enough sample rays that every single mirror
reflects at least one sample ray -- or equally that for every mirror
at least one virtual light source is created. All these constraints
result in a considerably high number of sample rays. My fear is, that
this number will be to high.
My conclusion is, that we should consider one single sample ray. This
sound silly, but it would be useful to model laser beam and the like.
If we include reflection and refraction, then this could lead to some
interesting pictures.
Another method, which I already used, is to incorporate human knowledge
about the scene. More precisely, in a scene where a disco ball is lit
by a spot light, it is known where to place the virtual lights (if we
assume one light per mirror). Using the capabilities of the POV-Ray
language is it possible the automatically calculate the position of
these light sources, their respective directions, and the test whether
they are in the shadow of the disco ball. I know this, because I've done
it. The result is at
http://www.fmi.uni-konstanz.de/~willhalm/graphics/tracegallery/
I have even created an animation of my disco ball.
I'm sorry about my bad English, but my native language is German.
Thomas
--
http://www.fmi.uni-konstanz.de/~willhalm
Post a reply to this message
|
|