Как нарисовать круг, используя OpenGl в Android? - PullRequest
2 голосов
/ 28 июня 2011

Я работал над небольшим приложением для своего телефона, и я хотел добавить функцию, которой нужно нарисовать круг на экране.Мне было интересно, как я мог сделать это с помощью OpenGL ES.кто-нибудь может помочь?

1 Ответ

7 голосов
/ 28 июня 2011

В принципе, есть три варианта рисования круга.Вы не указываете, хотите ли вы выглядеть сплошным / тонким / толстым и т. Д., Поэтому не все из них могут быть подходящими для вашего случая:

  1. Создание вершин в круге и использование glDrawArray (GL_LINES, ...).В зависимости от того, сколько вершин вы сгенерируете, это даст хороший и четкий результат.

  2. Используйте предварительно сгенерированную текстуру круга (с альфа-прозрачностью) и нанесите ее на четырехугольник.Это приведет к очень плавной графике и позволит создать «толстый» круг, но он не будет таким гибким: даже при использовании mipmapping вы захотите, чтобы ваша текстура была примерно того же размера, что и рендеринг четырехугольника.

  3. Используйте фрагментный шейдер.Примеры вроде this должны работать нормально.

...