Reflexion and transmission in Radiance

Well, therein lies your problem. The mirror type does not work within a mesh or instance. This is a basic limitation in the implementation of compound surface types and the light source calculation. Light sources also must not be instantiated.

You can use the obj2rad program instead of obj2mesh if you are starting from an OBJ file.

Oh ok I didn’t know that. But sadly there is another problem. If I use obj2rad and choose the position of the detector in such a way that it is translated from the center I measure nothing for the reflection again. I think the reason is that the surfaces of the cube generated with obj2rad are two merged triangles. If I then choose a detector point which should measure the reflection from a point from the line which results through having two triangles per surface there might be a problem for the calculation. Is this idea right and is it fixable (but if possible still use the obj file generated with Blender) ?

The files I generated can be download from the following link:

Greetings Philip

Wow, just wow. It seems like your “toy problem” has found every crack there is in Radiance, literally in this case. What if you move your test point over a small amount, measuring from

1e-4 -.5 1e-4 0 1 0

for example? If this gives you a mirror value again with -I+, then the problem is an edge effect caused by your two triangles, where the virtual shadow ray just misses both of them. If you still get a zero result, then it must be something else.

So if I use the detector you mentioned I measure the expected irradiance value for the reflection. So it really is an edge effect. Does this kind of problem have a solution?

Greetings Philip

Well, it’s a ray-tracing + geometry problem. If you represent a rectangle as two triangles and send a ray to the exact center, you are subject to floating-point errors in computing the intersection along the diagonal. It’s just a fact of life, I’m afraid. It doesn’t normally show up unless you design a problem to have such exact alignments.

In this case, you can probably overcome it by adding some random jitter to the source ray sampling with -dj 0.5 or similar.