POV-Ray : Newsgroups : povray.programming : An idea to speed up reflective caustics : An idea to speed up reflective caustics Server Time
29 Jul 2024 08:14:31 EDT (-0400)
  An idea to speed up reflective caustics  
From: Nieminen Mika
Date: 14 Mar 1970 14:18:15
Message: <350ad7f7.0@news.povray.org>
This may be a variation of a known idea, I don't know, but anyways:

  I have an idea to speed up reflective (and maybe refractive) caustics
calculations. I will speak here about povray, but the idea applies to
any raytracer.
  The idea is that you can specify a kind of bounding box, which will be
used to calculate the caustics. The box will work like an area light.
When povray calculates the amount of illumination for a pixel, it send
rays to each light source and see if there's any object in the way.
It would then send n rays (a given number of them) towards this bounding
box, and see, if it hits a reflective surface. If so, it calculates the
angle between the reflected ray and the ray from this point to the
light sources and so on, to get the amount of illumination. It would use
adaptive supersampling and antialiasing (just like in area light, atmosphere
or antialiasing calculations) to speed up and for better result.
  Now, suppose you have for example a reflecting sphere (mirror sphere).
Then you bound the sphere with this kind of box (just the same way as a
conventional bounding box) and for each pixel povray will send rays
towards this box, just like it was an area light. When the ray hits the
sphere, it would do the calculations I described above.
  To speed more, you should be able to stop a light source from causing
reflective caustics (just like you can stop it from affecting the
atmosphere or shadow calculations), and so on.

  Does this make sense?
  If povray4 will include reflective caustics and it's not using this
technique, is this a good idea to implement?


--
                                                              - Warp. -


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.