Как заставить сглаживание полигонов работать? - PullRequest
3 голосов
/ 08 января 2010

Я использую эти вызовы функций:

glEnable(GL_BLEND)
glEnable(GL_POLYGON_SMOOTH)
glBlendFunc(GL_SRC_ALPHA_SATURATE, GL_ONE) 

Это не работает и не будет отображаться.

glEnable(GL_BLEND)
glEnable(GL_POLYGON_SMOOTH)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)

Это не сглаживание.

Ответы [ 2 ]

7 голосов
/ 08 января 2010

Попробуйте glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST)

3 голосов
/ 12 мая 2010

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

В качестве альтернативы, вы можете использовать текстуру с закругленными углами возле углов. Это постепенно становится менее популярным, поскольку видеооборудование становится более мощным, но все еще довольно эффективным.

...