The description of your project makes the situation clearer.
What I want to do is this: I have a large building with external shading
that has a non-trivial geometric form. This shading is to be opened (to a
certain degree) at a given azimuth only if no direct radiation which would
hit the facade can get past in this location. So the task is to let the sun
travel around the building and for each position of interest check if any
direct hits can be found on any surface of the building façade behind the
Both options I mentioned could be used here:
A - stencil:
1) based on a view of the building facade you generate x,y,z coordinates
(sensor points). The resolution of your sensor points depends on the
view and image specification; it has it's limits but compared to a grid
it should be better. You can probably restrict the area to test to a
2) the direction is the surface normal at that point
3) with -ab 0 and only the sun (no sky dome) you create an image
4) If any of your image points is bright (not 0) you have a hit. You can
use pvalue to do this automatically or just look at the image.
B - search for material:
1) define grid resolution to apply to building facade
2) use sun direction as test direction
3) use rtrace with -os (surface) or -oM (material) and without -I+
4) if you get a "sun" or "solar" for any of the points you have a hit
C - combined method:
1) from stencil to create the grid points
2), 3), 4) as B
Your suggestion seems to imply that this should be possible with rtrace.
Does setting -dr 0 mean that only direct beams are considered by rtrace? Or
does one need a good combination of -ds, -dt and -dc? The sun is the only
"active" source of light. I would set reflection of all shading surfaces to
In the second case all these settings do not matter. We are using the
output format spec to let rtrace report about the material it hits instead
of the radiance of that surface. For the stencil method I do not think
these settings are an issue because you only have the sun in the sky
and a single light source is tested automatically by rtrace. I might be
I am not sure what your input example describes. Having the material names
of "hit" surfaces given would seem O.K. if this can be constrained to
"direct" only, as the goal is to have "no direct hit".
In the example I "tested" 3 directions from point (0,0,0).
In an rtrace output you would have 3 lines of materials.
Assuming that the sky material is called "skyglow" only
the first ray actually hits the sky. You can name the materials
as you like, of course. In fact, I don't use a sky at all and
look for "*" in the output which rtrace reports if it doesn't hit
On Thu, Nov 26, 2009 at 9:52 AM, Achim Geissler <[email protected]> wrote: