Как убрать черные полосы при рендере окружности в LibGdx?

Привет всем. Захотелось чет в пятничный вечер побаловаться с графикой, наткнулся на библиотеку LibGdx, по нагугленным докам и примерам набросал "хэллоуворлд", в котором рисую окружности с небольшим свечением, без спрайтов, простыми линиями, но косяк такой: появились черные полосы-артефакты (см скриншот), я уже гуглил black stripes artifacts, black lines artifacts, толком ничего не нашел, как называется правильно такой дефект в графике, и если есть, то можно пару советов, как избавляться о такого?1d6364af543c4d41a3d535ca4c7c0036.png
  • Вопрос задан
  • 317 просмотров
Решения вопроса 1
Этот дефект называется алиасинг. Рискну предположить, что это изображение вы рисуете с помощью концентрических кругов. Если это так, то дефекты возникают из-за того, что функция, рисующая окружность, округляет значения координат точек круга "в разные стороны" для различных значений радиусов окружности, и результат рисования окружности для R=1.5 (условно) не "согласуется" с результатом рисования окружности с радиусом R=1.6. Из-за этого остаются черные незакрашеннные точки.

Избавиться от этого можно по-разному. Например, рисовать изображение, проходя ВСЕ пиксели, претендующие на попадание на окружность, но для каждого из них вычислять значение цвета по расстоянию до центра окружности. Тогда у вас не будет незакрашенных точек изображения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы