[Radiance-general] Noisy irradiance rendering from glow materials

Claus Brøndgaard Madsen cbm at create.aau.dk
Wed Dec 29 13:59:30 PST 2010



Dear list,

With a lot of inspiration from Thomas Bleicher's tutorial (http://sites.google.com/site/tbleicher/radiance/stencil) which he pointed me to back in August (yes, it took me a while to gather the courage to go down that path) I have managed to devise a small script (or rather a command line) which allows me to render the irradiances received at any point in a scene with all glow materials (the standard -i irradiance option for rpict does not work for glow materials).

I attach (not so sure about list rules regarding attachments) the scene rendered where pixel values represent the outgoing radiance of the glow materials (radiance.jpg) and the scene rendered such that every pixel represents the incident irradiance in the same scene (irradiance.jpg). There are no other light sources than the glow materials.

My question is simply: how to reduce the significant amount of rendering noise for the (near) vertical surfaces? The irradiance on those surfaces is dominated by energy coming from the horizontal ground plane, which is a single box object (genbox).

I feel I have tried "everything" with the render options (see my setting below) but have seen no improvement in render noise ... hope to get some pointers/ideas from the list.


I use the following command line command to render the irradiance:

vwrays -ff -x $XRES -y $YRES -vf $NAME.vp \
|rtrace -ffa -opN $NAME.oct \
|sed '1,8d' \
|rcalc -ia6 -of \
-e '$1=$1 + 0.001*$4;$2=$2 + 0.001*$5;$3=$3 + 0.001*$6' \
-e 'out(v)=if(sqrt($4*$4 + $5*$5 + $6*$6) - 0.9,v,-1)' \
-e '$4=out($4);$5=out($5);$6=out($6)'  \
|rtrace -ffc -x $XRES -y $YRES -I -ab 0  -aw 1 -ad 4096 -ar 4096 -dt 0.0 -dp 8192 -ds 0.01 -dj 0.9 $NAME.oct > $NAME.irradiance.hdr

In short: use vwrays to generate the primary rays needed to render the scene, pipe into rtrace to get intersection points and normals, pipe into sed to get rid of header generated by rtrace and leave only lines with intersection point and normal, pipe through rcalc to "lift" intersection points 1/1000 of a unit in the direction of the normal (to avoid surface self-intersection problems later when using intersection point and normal as the start point for an incident irradiance computation) ... and rcalc also sets a (-1, -1, -1) direction vector if the original surface normal from rtrace is close to zero length, finally pipe through rtrace, this time with -I option to gather incident irradiance at the "lifted" surface point.


Best,
Claus




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.radiance-online.org/pipermail/radiance-general/attachments/20101229/7099b0f5/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: radiance.jpg
Type: image/jpeg
Size: 6400 bytes
Desc: radiance.jpg
URL: <http://www.radiance-online.org/pipermail/radiance-general/attachments/20101229/7099b0f5/attachment-0002.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: irradiance.jpg
Type: image/jpeg
Size: 24585 bytes
Desc: irradiance.jpg
URL: <http://www.radiance-online.org/pipermail/radiance-general/attachments/20101229/7099b0f5/attachment-0003.jpg>


More information about the Radiance-general mailing list