A vector based solution:
Create the direct, connecting lines between start and destination points.
Keep only lines that do not cross a barrier.
Where the line crosses a barrier, create the convex hull from the geometry collection, containing: start point, destination point, plus all nodes (vertices) of the barrier line that the line from step 1 crosses.
Convert the convex hull to the boundary.
Use shortest path algorithm from start to destination, using the boundary from step 4 as network.