OpenGL может напрямую визуализировать кривые и поверхности Безье, используя оценщики и даже NURBS, используя GLU API. См. Руководство по программированию OpenGL для получения дополнительной информации. Таким образом, вы можете преобразовать эти кривые и поверхности в эту форму.
Но я настоятельно рекомендую вам не использовать эти функции, поскольку они устарели (исключены из ядра более новых версий OpenGL) и в настоящее время могут быть реализованы в программном обеспечении, а не в аппаратном обеспечении.
Вместо этого вы должны скорее реализовать свои собственные процедуры оценки для таких кривых и поверхностей, которые оценивают соответствующие уравнения с заданной частотой выборки и генерируют простой массив вершин (и, возможно, и индексный массив). Таким образом, вы остаетесь готовыми к будущему, поскольку их можно визуализировать как стандартные линейные полосы или треугольные сетки с использованием VBO (единственный способ визуализации чего-либо в современном OpenGL).
И вы даже не зависите от API, так как общий массив вершин также может быть визуализирован с использованием Direct3D или чего-либо еще. Таким образом, вы не загрязняете свое ядро CAD вызовами отрисовки. Все, что ему нужно, - это функция для преобразования параметрических кривых и поверхностей в массивы вершин (и, возможно, индексы), а клиент / пользователь ядра отвечает за их отрисовку с любым API, который ему нравится.