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

#opengl-es #nurbs

#opengl-es #nurbs

Вопрос:

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

Ответ №1:

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

Ответ №2:

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

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