OpenGL здесь еще менее полезен, чем CUDA или OpenCL, поскольку он в первую очередь предназначен для рисования треугольных мозаичных сеток. Конечно, вы можете выполнять сложные геометрические вычисления на различных этапах шейдеров современного OpenGL. Проблема в том, что результатом всех этих вычислений является пиксельная картинка. Существует механизм обратной связи для извлечения обработанных данных вершин, но он дает только меш.
Пересечение чего-либо плоского или / и со сферами на самом деле довольно легко и может быть сделано аналитически. Реальные трудные вещи - это пересечение произвольно изогнутых поверхностей (Безье или NURBS). У них обычно нет закрытого решения, поэтому вам нужно численно аппроксимировать кривую усечения, которая наилучшим образом соответствует пересечению.