OpenGL — Какой наиболее эффективный способ нарисовать овал в OpenGL?

#opengl #graphics #geometry

#opengl #графика #геометрия

Вопрос:

Я использовал TRIANGLE_FAN и рисовал примерно 90 треугольников. Какой способ лучше?

Комментарии:

1. Вы изменяете овал динамически? Я не понимаю, почему так медленно вычислять вершины для 90 треугольников один раз и рисовать их из VBO.

2. Изменяется размер овала, а также его положение / перевод. Это не медленно, мне просто было любопытно.

Ответ №1:

Посмотрите на рисунок этой страницы. В нем объясняются 2 разных метода.

Редактировать:

Я забыл о nurbs. Вы также могли бы их использовать. Взгляните сюда

Комментарии:

1. Спасибо, парень. У вас более низкий балл, чем у Джима, поэтому я выбрал ваш ответ. Вот как я работаю.

2. NURBS напрямую не поддерживаются OpenGL. В какой-то момент кривые или участки кривых должны быть мозаичными, чтобы их можно было обрабатывать в OpenGL. Либо в клиентской программе, либо в шейдере геометрии или тесселяции.

Ответ №2:

В общем, это все, вы можете увеличить или уменьшить это значение на 90 градусов по своему вкусу (или сделать его зависимым от того, насколько оно велико на экране, или вы могли бы использовать геометрический шейдер.

Если вас устраивает, что он не основан на геометрии, просто создайте текстуру в форме овала и примените ее к квадрату.