[ Buffy @ 13.07.2005. 23:04 ] @
Imam jedan poligon koji je nacrtan u glPolygonMode(GL_FRONT_AND_BACK,GL_LINE) modu.
E ,sad bih zelio da nacrtam liniju koja ce da prolazi kroz poligon(dakle da ga sjece),ali na
takav nacin da dio linije koji se nalazi ispred poligona bude nacrtan punom linijom,a drugi
dio linije koji se nalazi iza poligona bude nacrtan isprekidanom linijom.
Da li se ovo moze uraditi pozivom funkcija openGL-a ili ja moram sam da programiram,tako sto
bih nacrtao dvije ili vise linija(koje bi izgledale kao jedna),jednu ispred i jednu iza poligona,
sa razlicitim glLineStipple().
Unaprijed zahvalan!
[ bkaradzic @ 13.07.2005. 23:18 ] @
Verovatno je najlakše da nađeš presek trougla i linije i onda crtaš dve linije. Ako crtaš samo par poligona i par linija ne treba ti neka velika shader vratolomija i ovakva metoda je efikasna, ali ako ti je potrebno da renderuješ veliki broj linija onda bi verovatno bilo efikasnije odraditi preko shadera.


[Ovu poruku je menjao bkaradzic dana 14.07.2005. u 00:19 GMT+1]
[ Buffy @ 14.07.2005. 10:20 ] @
U pitanju je nekoliko poligona pa cu vjerovatno uraditi preko dvije linije.
Ali tu moze doci do ne pozeljnih situacija.Na primjer ako linija izadje iz zaklona poligona.Onda je potrebno opet nacrtati punu liniju.Dakle 3 linije :)
Ja mislim ipak da bi trebalo da postoji neko univerzalo rijesenje.
Pozdrav
[ bkaradzic @ 14.07.2005. 20:23 ] @
Ako ti je to bitno, onda je najbolje:

- nacrtaš prvo punu liniju sa uključenim zwrite
- nacrtaš poligon koji je iste boje kao i boja pozadine (zbuffer test ukljucen, zwrite isključen). Ako ti je bitno da zadršiš pozadinu onda ćeš morati da koristiš rendering u teksturu. Ovo je da bi se izbrisala puna linija iz onog dela koji predstavlja poligon.
- nacrtaš isprekidanu liniju
- nacrtaš ivice poligona

U kompjuterskoj grafici ne postoje univerzalna rešenja za ovakve probleme. Uvek ima više rešenja i svako rešenje ima prednosti i mane, a na tebi je da smisliš koje rešenje najviše odgovara tvojim potrebama.
[ Buffy @ 15.07.2005. 00:19 ] @
Hvala!