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

Razlike izmedju koriscenja point sprite i billboarda

[es] :: 3D programiranje :: Razlike izmedju koriscenja point sprite i billboarda

[ Pregleda: 3672 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Razlike izmedju koriscenja point sprite i billboarda11.09.2004. u 22:49 - pre 237 meseci
Koje su prednosti i mane point sprite-ova, a koje billboard-ova? Za sad znam samo da ze za definiciju point sprite-a dovoljna samo jedna tacka pa se zato manje vremena trosi na ubacivanje koordinata u memoriju graficke kartice, dok za billboard postoje 4 vertexa. Cini mi se da ljudi uglavnom koriste point sprite-ove za 2D grafiku, a billboard-ove za 3D grafiku. U cemu je sve razlika izmedju njih?
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
..1.66.subscriber.vzavenue.net

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


+11 Profil

icon Re: Razlike izmedju koriscenja point sprite i billboarda12.09.2004. u 06:19 - pre 237 meseci
Citat:
Srki_82: Koje su prednosti i mane point sprite-ova, a koje billboard-ova?


Prednosti point sprajtova u odnosu na bilborde su:
- Manje podataka koje treba poslati na GPU.
- Ne treba da menjaš orjentaciju u odnosu na kameru.

Mane:
- Podrška kod različitih grafičkih kartica. Moraš proveriti Caps-ove pre korišćenja.
- Ne mogu se pojedinačno rotirati.

Ovo sa rotacijom je ustvari najveća mana. Jer kvalitet particle systema dosta zavisi od toga, jer mu dodaje haotični izgled i realizam.

Branimir

 
Odgovor na temu

yooyo

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



Profil

icon Re: Razlike izmedju koriscenja point sprite i billboarda13.09.2004. u 21:01 - pre 237 meseci
Da jos dodam... kod nekih kartica velicina point sprite-a je max 64x64 pixela.

yooyo
 
Odgovor na temu

Reljam
Relja Markovic
San Francisco

Član broj: 531
Poruke: 1793
*.microsoft.com



+18 Profil

icon Re: Razlike izmedju koriscenja point sprite i billboarda13.09.2004. u 21:19 - pre 237 meseci
U VS3.0 billboarde mozes da uradis potpuno na hardveru, bez menjanja vertex buffera od strane CPUa. Ukoliko mozes matematicki (parametarski) da odredis poziciju svakog particlea u zavisnosti samo od vremena i nekoliko konstanti po cestici, onda mozes da uradis billboarde skroz u vertex shaderu i bez VS3.0.

U tom slucaju bi billboardi bili i brzi i laksi za koriscenje od point spriteova, jer ne moras da saljes nove informacije kartici svaki frejm, mozes da koristis proizvoljnu teksturu, mozes da rotiras cestice, i imao bi zagarantovani fallback na starim karticama - softverski VS. Naravno, softverski VS nije preterano brz, ali je dovoljno brz ako te low end masine ne interesuju preterano.

Posto VS3.0 jos uvek nije nazalost dovoljno rasprotranjen, ostaje da se koristi druga metoda sa parametarskim izracunavanjem cestica, ali to je teze od prostog pomeranja cestica svaki frejm.

Sa druge strane, moderan hardver je ionako u vecini slucajeva texture bound a ne ALU bound, tako da i da mu das malo duzi VS, verovatno nece mnogo da mu smeta :)

Bilo bi zanimljivo ovo sve isprobati i videti sta radi brze i bolje.
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
212.62.47.*

ICQ: 246436949


+10 Profil

icon Re: Razlike izmedju koriscenja point sprite i billboarda13.09.2004. u 23:01 - pre 237 meseci
Na zalost nikad u zivotu nisam koristio ni VS ni PS... mislim da su oni za mene jos uvek preterano napretna tema, ili mozda gresim? Trenutno osnovni problem mi je kako da pravilno izracunam matrice za billboard. Mislim da negde u kodu imam gresku prilikom racunanja matrica i da zbog toga imam problema sa prikazivanjem billboard-ova.

Code:

D3DXMATRIXA16 billboardview;
D3DXVECTOR3 vdir;
D3DXVec3Subtract( &vdir, &LOOKATPT, &EYEPT );
if( vdir.x > 0.0)
  D3DXMatrixRotationY( &billboardview, -atan2f( vdir.z, vdir.x )
    + D3DX_PI / 2.0f );
else
  D3DXMatrixRotationY( &billboardview, -atan2f( vdir.z, vdir.x )
    - D3DX_PI / 2.0f );
billboardview._41 = pos.x;
billboardview._42 = pos.y;
billboardview._43 = pos.z;
DEVICE->SetTransform( D3DTS_WORLD, &billboardview );


Ovako... LOOKATPT i EYEPT su vektori koji su koristeni prilikom kreiranja View matrice funkcijom D3DXMatrixLookAtLH, a promenljiva pos je tipa D3DXVECTOR3 koja sadrzi centra billboard-a. Pa... da li je ovakvo racunanje World matrice uredu ili negde u racunanju postoji neka greska?
 
Odgovor na temu

bkaradzic
Branimir Karadžić
ArenaNet
Seattle, WA

Član broj: 14953
Poruke: 1630
*.pandemicstudios.com

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


+11 Profil

icon Re: Razlike izmedju koriscenja point sprite i billboarda14.09.2004. u 00:47 - pre 237 meseci
Citat:
Srki_82:Mislim da negde u kodu imam gresku prilikom racunanja matrica i da zbog toga imam problema sa prikazivanjem billboard-ova.


Koliko sam video u tvom kodu ti koristiš samo 2D particle (u InitParticle .z je uvek 0.0f, a menjaš samo .x i .z), tako da ti takva matrica i ne treba. Takođe u tom slučaju možeš da preskočiš korišćenje transformacija i renderuješ sve u RHW prostoru.

Samo gledanjem tvog koda nisam video ništa neobično što bi moglo da prouzrokuje ovaj problem. Proveri tzv. "winding order" na tri-strip-ovima. Možda renderuješ naopačke. Probaj da postaviš jedan vertex uvek na neku poziciju za koju znaš gde se nalazi. Npr. prvi vertex uvek u koordinatni početak. Probaj sve da renderuješ bez teksture sa nekom ekstremnom bojom (npr. 0x00FF00FF zelena maksimum). Ili postavi boju pozadine da bude neka ekstremna vrednost pa ćeš videti da li su poligoni možda crni. Probaj takođe da sam uneseš koordinate za poligon za koje znaš tačno gde se nalaze na ekranu i onda da ih uporediš sa onima koje dobijaš u tvom particle generatoru. Npr. ispisuj sve koordinate sa OutputDebugString u output window.

Branimir

 
Odgovor na temu

[es] :: 3D programiranje :: Razlike izmedju koriscenja point sprite i billboarda

[ Pregleda: 3672 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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