|
![](/i/fill.gif) |
> > Trace's input will be a single ray.
> > Trace's output will be a single ray.
> > In fact, it will be one and the same ray object.
> Umm... I seem to remember a few features that make this pointless. For instance,
unless I am mistaken,
> a partially transparent object splits an existing rays in two, passing one through
the object and bouncing
> the other off it. How the $%# do you do that with a trace routine which only returns
one ray?
How? Easy. You write a Trace routine for transparency shader that will
create two more ray objects (passing and bouncing), cast them (by
calling Scene's Trace routine), combine the result in its single ray and
return that.
Or, in short: You can cast a zillion rays if you want simply by
recursively calling Trace.
>I suggest
> you first learn 'why' things work the way they do before making suggestions about
how to 'fix' them. :p
Please do try not rush into replying before thinking. :P
Post a reply to this message
|
![](/i/fill.gif) |