Come arrivare poligono antialiasing a lavorare?
-
19-09-2019 - |
Domanda
Sto usando questi chiamate di funzione:
glEnable(GL_BLEND)
glEnable(GL_POLYGON_SMOOTH)
glBlendFunc(GL_SRC_ALPHA_SATURATE, GL_ONE)
Non funziona e non renda.
glEnable(GL_BLEND)
glEnable(GL_POLYGON_SMOOTH)
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
Lo fa non anti-alias.
Soluzione
Prova glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST)
Altri suggerimenti
Questa è una risposta banale .. ma se si vuole angoli arrotondati, probabilmente vorrete usare più più vertici agli angoli e metterli per una forma più arrotondata. Si potrebbe anche guardare in questo modo procedurale .. ma se stai facendo un gioco e si desidera farlo finire, mi piacerebbe di solito consiglio di avere la posizione di vertice finale nei dati (se non avete un motivo valido per fare esso dinamica).
In alternativa, è possibile utilizzare una texture con un aspetto arrotondato in prossimità degli angoli. Questo sta gradualmente diventando meno popolari come hardware video diventa più potente, ma è ancora abbastanza efficace.