OpenGL a oblouk s antialiasingem

BoneFlute

  • *****
  • 1 983
    • Zobrazit profil
OpenGL a oblouk s antialiasingem
« kdy: 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.


nou

krivka
« Odpověď #1 kdy: 07. 03. 2014, 14:38:51 »
glEnagle(GL_LINE_SMOOTH); zapne vyhladzovanie kreslenia ciar. potom uz len treba vykreslit kryvku ako aproximaciu pomocou ciar.

Pavel Tisnovsky

Re:OpenGL a oblouk s antialiasingem
« Odpověď #2 kdy: 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.