rtcontrib and ambient cache

I just checked out the new rtcontrib program, following Greg's examples #2
& 3 in the manpage to create two separate images of sources in a scene and
recombinig them with different values. VERY COOL. However, when I run
the command:

vwrays -ff -x 1024 -y 1024 -vf best.vf | rtcontrib -ffc \
         `vwrays -d -x 1024 -y 1024 -vf best.vf` @render.opt \
          -o c_%s.pic -m light1 -m light2 scene.oct

I get the following message:
rtrace warning: zero ambient accuracy so "test.amb" not opened

...but I did have -aa set to .1 (and this is in my render.opt file), and
there is a valid ambient cache.

Two questions:
a) Why is this happening?

b) Is this the only reason for the direct-only component showing up in the
renderings, or is this the intended result of the command? IOW, I was
hoping to be able to create renderings that showed the net result of a
single light source, but both its direct *and* indirect contributions to
the scene. Can this be done?

···

--
Rob Guglielmetti
www.rumblestrip.org

Hi Rob,

Glad to have some eager beavers going at this...

However, when I run
the command:

vwrays -ff -x 1024 -y 1024 -vf best.vf | rtcontrib -ffc \
         `vwrays -d -x 1024 -y 1024 -vf best.vf` @render.opt \
          -o c_%s.pic -m light1 -m light2 scene.oct

I get the following message:
rtrace warning: zero ambient accuracy so "test.amb" not opened

...but I did have -aa set to .1 (and this is in my render.opt file), and
there is a valid ambient cache.

Two questions:
a) Why is this happening?

The -oTW option of rtrace (used by rtcontrib) doesn't work with the ambient cache, because information would be lost in figuring ray contributions. Therefore, rtcontrib sets -aa 0 to switch caching off in its call to rtrace. You should adjust your -ad value accordingly. (It also sets -as 0 for similar reasons.)

b) Is this the only reason for the direct-only component showing up in the
renderings, or is this the intended result of the command? IOW, I was
hoping to be able to create renderings that showed the net result of a
single light source, but both its direct *and* indirect contributions to
the scene. Can this be done?

Yes, you should see both direct and indirect contributions from rtcontrib. At least, that's the idea. Maybe I should check to make sure of the results, because my test scene didn't contain much indirect lighting. Let me get back to you on this....

-Greg

Me again.

From: "Rob Guglielmetti" <[email protected]>
Date: May 27, 2005 2:28:02 PM PDT

b) Is this the only reason for the direct-only component showing up in the
renderings, or is this the intended result of the command? IOW, I was
hoping to be able to create renderings that showed the net result of a
single light source, but both its direct *and* indirect contributions to
the scene. Can this be done?

I checked, and the calculation seems to be behaving as I expected it to, anyway. Are you sure you aren't getting the indirect component? Maybe there's something else amiss with your rendering parameters. Try placing "-defaults" where the octree is now and see what rtcontrib spits out for the full parameter list.

-Greg

Hi Greg,

I did like you asked, and the only thing that stuck out was the -ab 1 as a
possible culprit, so I reran it with -ab 3, but I get the same result.
It's a room with two downlights, and even with -ab 3 there is no light on
the ceiling with the differential pics. So I dumped the -defaults to a
text file for you, and will send it (along with some renderings) to you in
a separate email.

···

On Fri, May 27, 2005 11:11 pm, Greg Ward said:

Me again.

I checked, and the calculation seems to be behaving as I expected it
to, anyway. Are you sure you aren't getting the indirect component?
Maybe there's something else amiss with your rendering parameters.
Try placing "-defaults" where the octree is now and see what
rtcontrib spits out for the full parameter list.

--
Rob Guglielmetti
www.rumblestrip.org

Hi Rob,

I found the problem. It has to do with your -ad 1536 value and the way I'm computing weights, which causes the ambient rays to drop below your -lw threshold. I made a temporary fix that circumvents the problem in this case, but I haven't checked it into CVS because I need to think more carefully about how I'm computing ray weights in this part of the code. I'll check it in when I'm sure I have it right this times.

Thanks -- you're my alpha alpha tester!
-Greg

···

From: "Rob Guglielmetti" <[email protected]>
Date: May 27, 2005 9:11:59 PM PDT

Hi Greg,

I did like you asked, and the only thing that stuck out was the -ab 1 as a
possible culprit, so I reran it with -ab 3, but I get the same result.
It's a room with two downlights, and even with -ab 3 there is no light on
the ceiling with the differential pics. So I dumped the -defaults to a
text file for you, and will send it (along with some renderings) to you in
a separate email.
--
Rob Guglielmetti

Cool, glad to help in some way. To think for once it wasn't "user error"!
Looking forward to trying the next version...

···

On Sat, May 28, 2005 11:40 am, Greg Ward said:

Hi Rob,

I found the problem. It has to do with your -ad 1536 value and the
way I'm computing weights, which causes the ambient rays to drop
below your -lw threshold. I made a temporary fix that circumvents
the problem in this case, but I haven't checked it into CVS because I
need to think more carefully about how I'm computing ray weights in
this part of the code. I'll check it in when I'm sure I have it
right this times.

Thanks -- you're my alpha alpha tester!

--
Rob Guglielmetti
www.rumblestrip.org

The new version is checked in, and seems to be working. You really need to override some of the rendering options, though, as rad's output is not appropriate for rtcontrib, anymore than it's appropriate for mkillum. It's a different use of Radiance and you can't really think of it as rendering anymore. In particular, the -ad option should be set to something much smaller, since the ambient cache is disabled.

Thanks again for helping me find the problem. I think I worked it out.

-Greg

···

From: "Rob Guglielmetti" <[email protected]>
Date: May 28, 2005 9:34:18 PM PDT

Cool, glad to help in some way. To think for once it wasn't "user error"!
Looking forward to trying the next version...

Cool, I'll grab the new version and check it out. Thanks for the rendering options advice as well...

···

On May 29, 2005, at 2:26 AM, Greg Ward wrote:

The new version is checked in, and seems to be working. You really need to override some of the rendering options, though, as rad's output is not appropriate for rtcontrib, anymore than it's appropriate for mkillum. It's a different use of Radiance and you can't really think of it as rendering anymore. In particular, the -ad option should be set to something much smaller, since the ambient cache is disabled.

Thanks again for helping me find the problem. I think I worked it out.

=================
    Rob Guglielmetti
www.rumblestrip.org