2017-02-16 6 views
-1

У меня этот многоугольник с отверстием при визуализации в полупрозрачном цвете в openGL, он показывает какие-то артефакты вдоль швов тесселлированных треугольников (по GLUtesselator). Это немного странно, потому что один и тот же полигон не имел бы таких артефактов, если бы он был нарисован непрозрачным цветом.Артефакты (швы), видимые в полупрозрачном полигоне с отверстиями в openGL

Артефакты рассматриваются как пристрастились линии простирались от внутренней окружности к внешней границе многоугольника:

img

ещё артефактов видны в интерьере полигона:

img

Это выглядит как кровотечение от альфа-смешивания цвета между двумя соседними краями треугольников. Но я не знаю, как смягчить проблему.

Кто-нибудь видел эту проблему раньше? или может кто-то указать, что может быть проблемой и возможным решением для меня?

+0

Я правильно понял, что вы использовали 10-20 полигонов, чтобы составить это? Используете ли вы текстуры или просто цвет? Почему у прямоугольника есть граница? –

+4

Пожалуйста, укажите соответствующие коды. – BDL

+0

какой глубинный тест вы используете? – Spektre

ответ

1

OpenGL гарантирует, что рисование двух треугольников, разделяющих ребро, будет производить каждый покрытый фрагмент ровно один раз, таким образом, вы можете визуализировать полупрозрачные полигоны без артефактов.

Однако эта гарантия сохраняется только в том случае, если обе вершины этого ребра идентичны между двумя треугольниками. Кроме того, это не будет выполняться, если вы сглаживаете свои полигоны с помощью GL_SMOOTH_POLYGON.

Трудно сказать, что здесь происходит, не видя соответствующего кода, но я бы определенно проверил координаты вершин общих ребер, чтобы увидеть, совпадают ли они.

+0

Вы правы. Я смог проверить координаты вершин общих ребер, чтобы увидеть, совпадают ли они. Они одинаковы, но они не такие, как я думал. Они были неправильно округлены и, следовательно, потеряли свою точность. Я очень ценю то направление, которое я получил от вас; в противном случае я буду все еще лаять на неправильных деревьях. – SharpT

 Смежные вопросы

  • Нет связанных вопросов^_^