"Importance Sampling of Many Lights with Adaptive Tree Splitting" - paper: participating media I'm reading and implementing a paper about Importance Sampling of Many Lights with Adaptive Tree Splitting. In section 5.2 on cluster importance for participating media, there is a part that I don't understand: How do they compute the vectors o1, o2? I don't understand the paragraph explaining how to obtain this basis from v1, v2. Can anyone explain it?
Someone else feel free to correct me as I am not 100% certain, but from what I can gather:
They are describing all the normalized vectors v, which point at the ray between points v1 and v2.
They are doing this using one parameter angle φ.
They are essentially interpolating between two vectors o1 and o2, with the equation v = o1 cosφ + o2 sinφ
o1 is simply the normalized v1. o2 is a vector at right angles with the o1 along the plane of the ray. (I think this would be calculated by cross product of o1 and N from the paper).
Because this angle can sweep greater than the length of the ray defined by v1 and v2 they also define a limit Bmax so that φ always stays within the bounds of the ray.
I've tried to annotate the diagram below (but I think I made a mistake and o2 would have an angle create than v1).

They also discuss it briefly here: http://www.aconty.com/pdf/importance-sampling-lights-slides.pdf
Might be worth mesaging the orinal authors to see if this is correct.