I am struggling with implementing continuous path-finding trough visibility graphs. Notice, I know that grids can be used even when movement is not trough grids (e.g. Theta*). But for my current needs, I really have to implement a real visibility graph path-finding.
First, I understand the logic of such an approach: 1) finding the points that go at each corner around obstacles, 2) calculating which of these points have direct connections to each other, 3) then applying A*. I am able to do steps 1 and 3 by my own, but I can't find out how to do number 2. It means, how can I find out which points are visible to each other and then transform it into an array to use with A*, in an efficient manner in terms of computer processing (i.e. avoinding raycast)?
I use Unity and C#, but also favor pseudo-code format. Please, suggestions, tutorials, sources, are all welcome.