|
![](/i/fill.gif) |
> Explaining why might make my question clearer: some friends and I were
> discussing what it would look like if you could take a film with a camera
> so
> fast that you could watch the progress of light across a room. I want the
> light
> to ooze slowly out of the lights and over objects, and so I want to
> terminate
> any ray which is longer than a distance ct, where c is the speed of light
> and t
> the (short!) time since the start of the film.
If you want to accurately simulate the speed of light, you want surfaces to
remain dark until enough time has passed for light to travel the distance
from the light source to the object, and then to the camera.
So, for any point in 3D space, the time until that point should be visible
is proportional to distance(point, light) + distance(point, camera). You can
make a function{} that calculates this value. Then, make a texture that uses
that function to display white where it is less than a certain threshold,
and black otherwise. If you apply that texture to all objects in the scene,
and change the threshold over time with the 'clock' variable, you can make
an animation where the lit parts of the scene are shown in white.
Then, it should be possible to take that video and use it as a mask for the
original, normally textured image. This could be done in POV-Ray with some
texture/function cleverness or just in a third party video editor.
- Slime
[ http://www.slimeland.com/ ]
Post a reply to this message
|
![](/i/fill.gif) |