Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

texture mapping uz antialiasing

[es] :: 3D programiranje :: texture mapping uz antialiasing

[ Pregleda: 3974 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

riki1512
Bodensko jezero, Njemacka

Član broj: 56280
Poruke: 18
*.dip0.t-ipconnect.de.



Profil

icon texture mapping uz antialiasing20.05.2005. u 09:24 - pre 229 meseci
Ciao raja,

kako rijesiti texture-mapping i rasterizing polygona uz antialiasing (edges) ? Gdje da nadjem algoritam za to ? Dali neko zna, kako u principu funkcionira ? Dali jednostavno kao antialiasing linije ili je ipak malo kompliciranije. Nasao sam sve moguce tutorie i programirao temeljnu 3d-engine, ali nikako da nadjem tutorije za to ?
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.beotel.net.



Profil

icon Re: texture mapping uz antialiasing20.05.2005. u 20:48 - pre 229 meseci
Za antialiasing se koriste multisampling ili supersampling. Razlike izmedju ova 2 metoda su:
- Supersampling:
* potreban veci backbuffer (npr.. ako je renderujes 800x600 sa supersamplingom 2x, onda je backbufffer 1600x1200)
* prilicno usporava rendering
* bolji kvalitet slike u poredjenju sa multisamplingom

- Multisampling:
* velicina backbuffera je ista
* hardware "sampluje" vise delova pixela i racuna finalnu boju
* brzi je od supersamplinga
* podrska za razlicite sampling pattern-e, aligned, quincunx, rotated grid, temporal AA

Supersampling se obicno kontrolise iz drivera dok multisampling mozes da kontrolises iz tvog programa.
U OpenGL-u pogledaj dokumentaciju za GL_ARB_multisample (http://oss.sgi.com/projects/og...e/registry/ARB/multisample.txt).
U D3D pogledaj poziv CreateDevice i podesi polja MultiSampleType i MultiSampleQuality u D3DPRESENT_PARAMETERS strukturi.

yooyo
 
Odgovor na temu

riki1512
Bodensko jezero, Njemacka

Član broj: 56280
Poruke: 18
*.fh-weingarten.de.



Profil

icon Re: texture mapping uz antialiasing21.05.2005. u 21:03 - pre 229 meseci
Hvala yooyo,

stos je ipak u tome sto ja pisem engine za staticne 3d slike u PHPu. Dakle, bas sve pisem sam, nemogu koristiti rutine d3d ili opengl. Ipak si mi pomagao, znam barem kako se zovu glavni algoritmi pa mogu tako trazit.

Eto izlazim, a iza mene pas pjesma Srbije i Crne Gore (Song Contest), nije losa, mozda malo previse orientalno.
 
Odgovor na temu

netoff
Duca Pantelić
USA

Član broj: 15761
Poruke: 42
*.kg.sbb.co.yu.



Profil

icon Re: texture mapping uz antialiasing22.05.2005. u 13:46 - pre 229 meseci
Kad već ne koristiš ni d3d ni opengl, već sve radiš u softveru, zar ne bi bio prikladniji raytracing algoritam? Onda nemaš nikakav rasterizing poligona i mislim da je mnogo jednostavnije da postigneš antialasing, i to samo na mestima na kojima je potrebno. Pošto su slike statične ne bi verovatno bilo nekog zaostatka u brzini.
 
Odgovor na temu

riki1512
Bodensko jezero, Njemacka

Član broj: 56280
Poruke: 18
*.dip0.t-ipconnect.de.



Profil

icon Re: texture mapping uz antialiasing23.05.2005. u 11:58 - pre 229 meseci
Hmm, preletio sam tu i tamo nesto u vezi raytracinga, ipak mislim da je to za mene kao 3d pocetnika malo previse. Neznam koliko je komplicirana implementacija, ali po slikama, koje sam vidio, ostvarene ray-tracingom mi se nekako cini da je to puno teze od starih etabliranih metoda (slike su bile izvanredne kvalitete, ubaci na google->picturesearch samo jednom 'raytracing'). U ostalom, i ako nemoram previse marati o performance'u, opet se nesmem razbacivati resursama.

Citao sam u medjuvremenu, da trenutno koristene antialiasing metode nisu optimalne, dakle nije to ono matematicno najispravnije vec performance-optimized metode. Dali je to istina ? Dali je velika razlika u kvaliteti rezultata tih optimized i 'pravilnih' algoritma. U tom slucaju bi vjerojatno u mrezi samo nasao te algoritme, a optimalan cu onda sam napisati.
 
Odgovor na temu

riki1512
Bodensko jezero, Njemacka

Član broj: 56280
Poruke: 18
*.dip0.t-ipconnect.de.



Profil

icon Re: texture mapping uz antialiasing24.05.2005. u 10:04 - pre 229 meseci
Eto ipak sam iz interesa malo preletio svasta o ray-tracingu, svakako interesantno. Jedino me smetala 'perfektnost' slika, to opet izgleda nerealno, to sam kasnije i na mrezi stvarno nasao kao disadvantage raytracinga - neke slike su tako prefektne da izgledaju sterilne - kao u nekom snu.

No, bilo kako bilo, kod mene do toga problema jos nebi smjelo doci :-) zato bi imao pitanje - kolika je od prilike razlika (faktor) rendering-vremena za obicni 3d frame sa poligonima jednom izcrtan sa klasicnim texture-mapping preko rasteriziranja, antialiasing te z-buffering, mozda nesto gourad-shading na jednoj i realizaciji preko ray-tracing na drugoj strani ?
 
Odgovor na temu

Nothingman

Član broj: 31375
Poruke: 308
*.mobtel.co.yu.



+112 Profil

icon Re: texture mapping uz antialiasing24.05.2005. u 10:33 - pre 229 meseci
Velika. U prvom slucaju se radi o "frames per second", a u drugom "seconds per frame". ;)

Q: Are there really any systems where
void main() doesn't work?
A: It has been reported that programs using void main() can crash.
Q: The book I've been using, _C Programing for the Compleat Idiot_,
always uses void main().
A: Perhaps its author counts himself among the target audience.
 
Odgovor na temu

netoff
Duca Pantelić
USA

Član broj: 15761
Poruke: 42
*.kg.sbb.co.yu.



Profil

icon Re: texture mapping uz antialiasing24.05.2005. u 11:48 - pre 229 meseci
Pošto se radi o PHP-u teško da bi u prvom slučaju bilo frames per second. U pitanju je jedna statična slika tako da bih ja odabrao raytracing. Tačno je da je u opštem slučaju raytracing sporiji možda i nekoliko redova veličine, ali s obzirom na okolnosti treaba ga uzeti u obzir.
 
Odgovor na temu

riki1512
Bodensko jezero, Njemacka

Član broj: 56280
Poruke: 18
*.dip0.t-ipconnect.de.



Profil

icon Re: texture mapping uz antialiasing24.05.2005. u 16:35 - pre 229 meseci
Hmm, interesantno. No, kao sto reko, ipak se nesmijem razbacivati resursama, dakle raytracing vjerojatno otpada, mozda cu ga probati implementirati kasnije. A o temi, steta da niko nezna nesto vise (mozda mislite da je prejednostavno i ocigledno, ali slobodno napisite :-).
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
67.151.201.*

Sajt: https://github.com/bkarad..


+11 Profil

icon Re: texture mapping uz antialiasing24.05.2005. u 19:22 - pre 229 meseci
Citat:
riki1512: A o temi, steta da niko nezna nesto vise (mozda mislite da je prejednostavno i ocigledno, ali slobodno napisite :-).

Yooyo ti je dao odgovor. To što je spomenuo D3D i OpenGL uopšte nema veze jer je princip isti i za softverski rendering.

Znači full screen antialiasing radi ovako. Renderuješ celu sliku u 2x ili 4x većoj rezoluciji od potrebne za prikazivanje na ekranu, i onda odradiš supersampling prilikom smanjivanja slike na željenu rezoluciju.

Recimo željena rezolucija je 640x480. Renderuješ sliku u 1280x960 ili 2560x1920 i onda jedan pixel u toj 640x480 slici predstavlja srednju vrednost 4 pixela iz ove 1280x960 ili 16 pixela iz ove 2560x1920 slike. Ako koristiš floating point frame buffer, imaćeš lepši antialiasing. Pre nego što implementiraš ovo, možeš teoriju da testiraš u GIMP-u (ili Photoshop-u). Nacrtaš beli trougao na crnoj pozadini u 2560x1920 rezoluciji (trudi se da taj trougao bude što nepravilniji, da dobiješ što više aliasinga) onda skaliraj sliku u 640x480, zumiraj na deo gde si ranije imao aliasing...

Citat:
netoff: Tačno je da je u opštem slučaju raytracing sporiji možda i nekoliko redova veličine, ali s obzirom na okolnosti treaba ga uzeti u obzir.

Ovo što pričaš važi za jednostavne primitive tipa lopta, kocka, cilindar, itd. i to samo kada se radi o manjem broju na ekranu. Recimo probaj da renderuješ 120K poligona i probaj da ih trejsuješ, pa javi koliko vremena je potrebno. :)

 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
195.252.89.*



Profil

icon Re: texture mapping uz antialiasing24.05.2005. u 21:23 - pre 229 meseci
Citat:
netoff: Pošto se radi o PHP-u teško da bi u prvom slučaju bilo frames per second. U pitanju je jedna statična slika tako da bih ja odabrao raytracing. Tačno je da je u opštem slučaju raytracing sporiji možda i nekoliko redova veličine, ali s obzirom na okolnosti treaba ga uzeti u obzir.


Dobar je raytracing ali bez specijalnih algoritama za optimizaciju neces daleko odmaci. Moraces da scenu ubacis u octtree ili nesto slicno pa onda pretrazivanje i racunanje preseka sa trouglicima...

@riki
Obzirom na to da si napravio svoj rasterizer da li si vodio racuna o pravilima rasterizacije? Ako imas negde gresku onda ces imati problema sa "rupicama na shavu". Antialiasing ce ih samo malo ublaziti, ali ce i dalje biti tu.

yooyo
 
Odgovor na temu

riki1512
Bodensko jezero, Njemacka

Član broj: 56280
Poruke: 18
*.dip0.t-ipconnect.de.



Profil

icon Re: texture mapping uz antialiasing25.05.2005. u 09:55 - pre 229 meseci
Hvala decki,

ali yooyo, sto su shavi ?

I jos jednom, kako vidim multisampling i supersampling su optimirani algoritmi, ali matematicki ne skroz optimalni, dakle nije onaj pravilni antialiasing. Dali je velika kvalitativna razlika medju supersamplingu i matematicko korektnom antialiasingom ?

(i oprostite mi ako sam dosadan)
 
Odgovor na temu

yooyo

Član broj: 4891
Poruke: 1101
*.nat-pool.bgd.sbb.co.yu.



Profil

icon Re: texture mapping uz antialiasing25.05.2005. u 15:34 - pre 229 meseci
@riki512
shav - spoj izmedju 2 trougla.

Ovo sam pitao zato sto ako ne postujes previlo rasterizacije da ako je centar pixela u trouglu onda se pixel crta u suprotnom ne. Ovo je jao bitno jer ako imas 2 trougla koji imaju zajednicku ivicu (spoj) onda se moze desiti da neke pixele nacrtas 2x a neki nijednom. U tom slucaju pojavice se rupice. To se resava subpixel korekcijom.

E sad kakve to veze ima sa antialiasingom?

U multisamplingu moras voditi racuna da racunas centar pixela i ako centar pixela pripada trouglu onda izvrsi dodatna samplovanje. Sumiraj samo uzorke koji pripadaju trouglu i izracunaj njihov prosek i to je finalna boja. Ako uzorak ne pripada trouglu izbaci ga iz ukupne sume jer neznas da li pripada pozadini ili nekom drugom trouglu.

Supersampling nema ovih problema je se uvek sampluje po jedan uzorak po pixelu i to samo ako je centar pixela u trouglu. Kasnije se cela slika downsempluje na zeljenu rezoluciju i tom prilikom ce se racunati prosecna boja pixela sto ima za rezultat antialiasing.

yooyo
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
*.tehnicom.net.

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: texture mapping uz antialiasing25.05.2005. u 16:14 - pre 229 meseci
Ukoliko zelis da odradis antialiasing brze ali malo "prljavo", mozes da uradis
sledece:
Za pocetak odredi koje ivice trouglova cine siluetu objekta pa prilikom
rasterizacije trougla na tim ivicama uradi antialiasing "rucno".
Za te ivice mozes da smatras one koje dele dva poligona cija je orijentacija
razlicita (backface i frontface). Za to ce ti biti potrebno makar grubo
sortiranje objekata po udaljenosti od kamere ili span buffer (A-buffer).
 
Odgovor na temu

[es] :: 3D programiranje :: texture mapping uz antialiasing

[ Pregleda: 3974 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.