Como fazer com que o Polygon Antialiasing funcione?
-
19-09-2019 - |
Pergunta
Estou usando estas chamadas de função:
glEnable(GL_BLEND)
glEnable(GL_POLYGON_SMOOTH)
glBlendFunc(GL_SRC_ALPHA_SATURATE, GL_ONE)
Não funciona e não será renderizado.
glEnable(GL_BLEND)
glEnable(GL_POLYGON_SMOOTH)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
Não é anti-alias.
Solução
Tentar glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST)
Outras dicas
Esta é uma resposta mundana. Mas se você quiser cantos arredondados, provavelmente desejará usar mais vértices nos cantos e colocá -los para uma forma mais arredondada. Você também pode procurar fazer isso processualmente ... mas se você estiver fazendo um jogo e deseja terminar, eu normalmente recomendo que você tenha a posição final do vértice nos dados (a menos que tenha um motivo atraente para fazer é dinâmico).
Como alternativa, você pode usar uma textura com uma aparência arredondada perto dos cantos. Isso está gradualmente se tornando menos popular à medida que o hardware de vídeo se torna mais poderoso, mas ainda é bastante eficaz.