[Radiance-general] Generating alpha channels using vwrays and rtrace

Jack de Valpine jedev at visarc.com
Fri Feb 24 11:45:10 PST 2012


Hi Iebele,

I have done a few different things to achieve this over the years. The 
one that come most readily to mind is to prep an alternate material file 
with a black (0 0 0) and white (1 1 1) material assigned as needed. This 
is one reason the "alias" material option can be quite handy when 
assigning materials to geometry! With the correct black/white materials 
this can be rendered out very quickly with -ab 0 and -av 1 1 1.

I have also done something where (with scripting) you can specify a 
material name that then get white and everything else gets black. It has 
been a while so I do not quite remember off hand, but I think that this 
can also be setup as a big pipe in radiance and using radiance's 
functional language.

The first way is pretty easy and if you need to do lots of it then it is 
possible to script the switching of material assignments. One challenge 
though is that if you use instances (frozen octrees) you need to 
remember to assign a material accordingly. Another challenge is thinking 
about transparencies that might need to be captured in the process...

Regards,

-Jack

-- 
# Jack de Valpine
# president
#
# visarc incorporated
# http://www.visarc.com
#
# channeling technology for superior design and construction


On 2/24/2012 2:24 PM, Iebele Abel wrote:
> Hi group,
>
> Whilst finding a method to create alpha channels for my rendered 
> image, I'm playing with vwrays and rtrace. What I intend is to create 
> an image in which
> geometry modified by a particular modifier  is rendered white, whilst 
> the geometry modified otherwise is rendered black. The command below 
> comes close to this, it has as output the modifiers for each surface hit:
>
> vwrays -ff -vf test.vp -x 100 -y 100 | rtrace `vwrays -d -vf test.vp 
> -x 100 -y 100`  -ffa -om test.oct  | more
>
> Output of this command is like:
> ...
> floor
> floor
> floor
> window
> window
> etc...
>
> Now I want that, for example, each occurrence of "window" sends 3 
> "bright" RGBE primaries to stdout, and every other string sends 3 
> "dark" RGBE primaries to stdout. I can do this by writing a small 
> program (instead of piping to 'more' as in the example above), but I 
> wondered if there is a method using native Radiance tools to do it.
>
> In pseudo code (bold) I think about something like this (where 1 
> represents a value considered as white in the output, and 0 represents 
> black) :
>
> vwrays -ff -vf test.vp -x 100 -y 100 | rtrace `vwrays -d -vf test.vp 
> -x 100 -y 100`  -ffa -om test.oct  | *if (stdin == "window") 
> fprintf(stdout, "1 1 1" ); else fprintf ( stdout, "0,0,0"); *| ra_tiff 
> - alpha.tif
>
> So my questions are:
> 1. how do I format the output of stdout as Radiance RGBE?
> 2. can I do this using native Radiance tools?
>
> Thanks for any hints.
>
> -Iebele
>
>
>
>
> _______________________________________________
> Radiance-general mailing list
> Radiance-general at radiance-online.org
> http://www.radiance-online.org/mailman/listinfo/radiance-general
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.radiance-online.org/pipermail/radiance-general/attachments/20120224/2c4f57c4/attachment.html>


More information about the Radiance-general mailing list