Как рисовать NURB с помощью OpenGL ES

В OpenGL NURB можно рисовать с помощью оценщиков. Но похоже, что оценщики были удалены из спецификации OpenGL ES, чтобы упростить ее. В таком случае, как можно рисовать NURB с помощью OpenGL ES API?


person Jayesh    schedule 24.05.2011    source источник


Ответы (2)


Вам не обойтись без реализации NURBS самостоятельно. Это означает, что вы должны сэмплировать кривую или поверхность в дискретных точках и, таким образом, преобразовать ее в обычную линейную полосу или набор треугольников соответственно. Затем это можно нарисовать с помощью обычных массивов/буферов вершин, которые также должны быть быстрее, чем оценщики или функции GLU NURBS.

person Christian Rau    schedule 24.05.2011

В openGL кривые NURBS визуализируются в 2 этапа: 1) оценка некоторых точек (100 или 1000) на кривой с помощью математическая формула. Это можно сделать на графическом процессоре в openGL4, используя SSBO (объекты буфера хранилища шейдеров). 2) визуализировать оцененные точки в виде линейной полосы, используя VBO.

Если вы хотите более подробно разобраться в NURBS, то здесь доступно хорошее веб-приложение.

person splineducks    schedule 10.05.2016