Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: BoneFlute 07. 03. 2014, 13:31:16

Název: OpenGL a oblouk s antialiasingem
Přispěvatel: BoneFlute 07. 03. 2014, 13:31:16
Zdravím.

Jestli se nemýlím, tak OpenGL nemá defaultně rutinu pro vytvoření oblouku.

Jak nejlépe udělat elipsu? Nebo srdíčko (trojúhelník s Bézierovými křivkami)?

Jde to jinak, než vlastní spočítání a vykreslení jednotlivých pixelů?

A druhá otázka, lze do OpenGL kreslit tak, aby oblouk nebyl kostičkovanej? Tedy nějak to vyhladit antialiasingem?


Dík.
Název: krivka
Přispěvatel: nou 07. 03. 2014, 14:38:51
glEnagle(GL_LINE_SMOOTH); zapne vyhladzovanie kreslenia ciar. potom uz len treba vykreslit kryvku ako aproximaciu pomocou ciar.
Název: Re:OpenGL a oblouk s antialiasingem
Přispěvatel: Pavel Tisnovsky 07. 03. 2014, 15:31:04
Zdravím.

Jestli se nemýlím, tak OpenGL nemá defaultně rutinu pro vytvoření oblouku.

Jak nejlépe udělat elipsu? Nebo srdíčko (trojúhelník s Bézierovými křivkami)?

Jde to jinak, než vlastní spočítání a vykreslení jednotlivých pixelů?

A druhá otázka, lze do OpenGL kreslit tak, aby oblouk nebyl kostičkovanej? Tedy nějak to vyhladit antialiasingem?


Dík.

Podivejte se na GLU, to ma podporu pro NURBS, takze (dvoji) zobecneni Bezierovych krivek. Ve vysledku to budou kratke usecky, resp. GL_LINE_STRIP, takze vyhlazeni presne tak, jak napsal predrecnik.