Frage

Ich benutze diese Funktion aufruft:

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

Es funktioniert nicht und wird nicht übertragen.

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

Es ist nicht anti-alias.

War es hilfreich?

Lösung

Versuchen glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST)

Andere Tipps

Dies ist eine banale Antwort .. aber wenn Sie abgerundete Ecken wollen, werden Sie wahrscheinlich mehr mehr Scheitelpunkte an den Ecken verwenden wollen, und sie für eine rundere Form zu platzieren. Sie könnten auch prozedural dies in tun aussehen .. aber wenn Sie ein Spiel tun, und Sie wollen, um es zu beenden, würde ich in der Regel empfehlen, dass Sie die endgültige Vertexposition in den Daten haben (es sei denn, Sie einen zwingenden Grund zu machen es dynamisch).

Alternativ können Sie eine Textur mit einem abgerundeten Auftritt in der Nähe der Ecken verwenden. Dies wird nach und nach immer weniger beliebt als Video-Hardware leistungsfähiger wird, ist aber noch sehr effektiv.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top