Rendering with many spectral bands and RGB weighting

Hi,

Hopefully someone who has done this already can help out here..

We have been using a spectral rendering technique with radiance by splitting
our material and light source data into 27 files (81 bands) and combining
the output of the 27 rpict processes.

The assumption here is that radiance has no calculations that differ across
the 3 "RGB" values in the material and light source files.

Having searched the archives, I have found a few seemingly conflicting
pieces of information:

In one correspondence (from Greg Ward) it is stated that "Radiance does not
have any wavelength specific calculations".

However, Arne Dure has pointed us towards the source code in color.h:

#define bright(col) (CIE_rf*(col)[RED]+CIE_gf*(col)[GRN]+CIE_bf*(col)[BLU])

    /* As of 9-94, CIE_rf=.265074126, CIE_gf=.670114631 and

       CIE_bf=.064811243 */

Is this calculation what Greg refers to in his reply here?:

http://www.radiance-online.org/pipermail/radiance-general/2003-June/000869.h
tml

"The only place RGB is assumed in the code is when it's
combining primaries to get brightness for a weight test or somesuch,
and it shouldn't affect the result much for adjacent samples, which
should be fairly similar."

I'm not really sure what this 'weight test' is or if we should be worrying
about this. Am I correct in thinking that although this calculation may not
greatly effect the result, for maximum accuracy when spectral rendering we
should render only one waveband at a time (R=B=G) and do it 81 rather than
27 times?

Many thanks,

Glen Harding.

Glen Harding

Bradford School of Optometry and Vision Sciences

University of Bradford

BD7 1DP

Tel: 07969 797391

Hi Glen,

You should be fine with your 27 runs. It's best if you interleave your wavelengths so that RGB still roughly corresponds to reds, greens, and blues, but it isn't completely critical. The bright() macro is only used for determining ray weights and the like, so should have only a modest effect on the result. Running individual wavelength calculations will not help at all.

-Greg

···

From: "G HARDING" <[email protected]>
Date: April 24, 2009 7:42:58 AM PDT

Hi,
Hopefully someone who has done this already can help out here….

We have been using a spectral rendering technique with radiance by splitting our material and light source data into 27 files (81 bands) and combining the output of the 27 rpict processes.

The assumption here is that radiance has no calculations that differ across the 3 “RGB” values in the material and light source files.

Having searched the archives, I have found a few seemingly conflicting pieces of information:

In one correspondence (from Greg Ward) it is stated that “Radiance does not have any wavelength specific calculations”.

However, Arne Dure has pointed us towards the source code in color.h:

#define bright(col) (CIE_rf*(col)[RED]+CIE_gf*(col)[GRN]+CIE_bf*(col)[BLU])

>> /* As of 9-94, CIE_rf=.265074126, CIE_gf=.670114631 and

>> CIE_bf=.064811243 */

Is this calculation what Greg refers to in his reply here?:

http://www.radiance-online.org/pipermail/radiance-general/2003-June/000869.html

“The only place RGB is assumed in the code is when it's combining primaries to get brightness for a weight test or somesuch, and it shouldn't affect the result much for adjacent samples, which should be fairly similar.”
I’m not really sure what this ‘weight test’ is or if we should be worrying about this. Am I correct in thinking that although this calculation may not greatly effect the result, for maximum accuracy when spectral rendering we should render only one waveband at a time (R=B=G) and do it 81 rather than 27 times?

Many thanks,

Glen Harding.