-
Разбиваю плоский одноцветный невыпуклый многоугольник на треугольники с помощью тесселяции. В результате видны грани между треугольниками :( Как от этого избавиться?
OpenGl запросто рисует выпуклые многоугольники без этих глюков.
-
На наличие щелей влиеют следующие опции.
glEnable(GL_POLYGON_SMOOTH);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
-
По идее влияет только GL_POLYGON_SMOOTH.
А координаты вообще идеентичные у точек, или все же отличаються чуть?
-
Я их передаю идентично. А как внутри работает тесселятор я не знаю.
Но если оставить только glEnable(GL_POLYGON_SMOOTH); то щелей нет.
-
Кто-нибудь из мастеров может объяснить, как в ручную делается тесселяция. Как разделить треугольник, на несколько - знаю. А вот как правильно сдвинуть появившиеся новые точки - непойму.
-
Тег куда сдвинуть и зачем?
-
MegaVolt, выход: не использовать GL_POLYGON_SMOOTH
-
>выход: не использовать GL_POLYGON_SMOOTH
Ага похоже так и придётся сделать.
-
Тесселяция нужна только для разбиения плоских многоугольников на триугольники? Больше не для чего?
Она не может случаенно, скажем, низкополигонный шар сделать высокополигонным? То есть работать в 3Д.
-
Может, она все может...
-
Если может - давай пример.
-
> [10] Html. (03.07.07 06:11)
Фига се, заява. :))
Как я понимаю, тесселяция может побить шар на большее количество треугольников. Но надо понимать, что онм не сгладит этот шар.
-
> @!!ex © (03.07.07 16:53) [11]
>
> > [10] Html. (03.07.07 06:11)
>
> Фига се, заява. :))
>
> Как я понимаю, тесселяция может побить шар на большее количество
> треугольников. Но надо понимать, что онм не сгладит этот
> шар.
Точно?
Нафига тогда вообще это нужно. Разделить треугольники на части можно элементарно и без OpenGL.