> > 4. After this you can continue tracing the path normally. But if the
> > ray next hits the same light source, ignore it as otherwise you have
> > calculated it twice.
>
> Do you still trace some random diffuse rays too? Otherwise how do you end
> up with diffuse inter-reflection?
Yes, that is the step 4 above. After you evaluate direct lighting component you
can continue normally to random direction. And at the next intersection you do
the same steps again. We definitely want to have global illumination...
> In either event the maths sounds pretty tricky :(
It is not really _that_ tricky. But I needed a pencil and a piece (or 2) of
paper to figure out how to calculate the solid angle thingy. And how to take
the object color into account during this incremental path creation.
> It also appears to mean that you need to treat your light sources
> differently to normal objects. At the moment my light sources are just
> high-ambient primitives.
Yes, that is correct. The renderer has to have a list of light sources. I also
did first what you do now: light sources are normal objects with emission. And
all images on my page are rendered that way. This "new" method is great because
it improves speed so much. It is worth implementing.
Post a reply to this message
|