Manuaalit opastavat, että antialialiasiointi onnistuu GL:ssä, kunhan vain ottaa syvyyspuskurin päältä pois, ja piirtää pinnat järjestyksessä takimmaisesta etummaiseen. Jos reunojen pehmennys oikeasti vaatisi syvyyspuskurin disablointia, erkkikään ei enää osaa sortteerata miljoonaa polygonia vaadittuun syvyysjärjestykseen.
Mikä on oikea tapa? Minkälaiset bitit GL:n tilakoneeseen pitäisi laittaa, jotta sahalaitaisuudesta pääsisi eroon?
glEnable(GL_BLEND); // Jotta reunat voivat sulautua taustaan glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // Tapa blendata glEnable(GL_POLYGON_SMOOTH); // Käsketään tehdä se polygoneille glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST); // Ja vielä vinkki aiheesta
On olemassa kahdenlaista antialiasointia: tavallista (Metabolix ehdottamaa) ja multisamplaukseen perustuvaa. Tavallisessa joudut lajittelemaan polygonit ja se ei näin sovi oikeaan käyttöön. Lisäksi tavallisessa antialiasoinnissa tulee ongelmia polygonin saumojen ja syvyyspuskurin kanssa.
Multisamplaukseen perustuva antialiasointi sen sijaan ei vaadi mitään muutoksia jo olemassa olevaan ohjelmaan ja sitä voidaan käyttään suoraan, kunhan vain ikkunaa luotaessa pyydetään multisamplausta tukeva pikseliformaatti.
Katso tutoriaali multisamplauksesta täältä: http://nehe.gamedev.net/data/lessons/lesson.asp?
Aihe on jo aika vanha, joten et voi enää vastata siihen.