The

**polygons are convex and planar and the vertices are ordered counter-clockwise**.

I already have an algo to check if two convex polys intersects so I can filter it out and return zero distance, otherwise I will use the algorithm I search for.

The distance must be

**correct or at least underestimated**. If the distance returned if bigger than real the contribution of lightmap is skipped making illuminations artifacts (darker regions).

I not search for speed, I precalculate these distances only once during radiosity setup.

I've partially solved, the assertions made on the box above are wrong i need to check for solid angle and thus accounting for the square of distance between hemicube origin and patch center.I have another question now, a radiosity solution based on hemicubes is automatically unit-less?

I've thinked that the inverse square law is due to the area that a polygon fill onto the hemicube faces, so the perspective automatically reduce this.... and so the units of the scene are not important.

But now, misuring the distance directly from polys, i think i need to convert units it to meters to work well?

I have also set an UnitsToMeters float to define the scene scale. Now it's all more correct.

The distance algorithm

**is always needed**...