[ Filip Strugar @ 26.12.2006. 19:29 ] @
Trenutno radim na NVidia 7600GS-u, i tu filtering radi za 16bit floating point texture (al' ne radi za 32bit).
Pretpostavljam da mogu da ocekujem da na svim PS3.0 nvidijama to radi (evo bas nadjoh u GeForce 6 Tech Specs "Full floating point support throughout entire pipeline"), ali da li neko zna vazi li to i za sve PS3.0 ATIje?
[ yooyo @ 27.12.2006. 01:34 ] @
Mozda ovde lezi odgovor...

http://www.gamedev.net/community/forums/topic.asp?topic_id=385932
http://www.beyond3d.com/reviews/ati/r520/index.php?p=03 (procitaj zadnji pasus)

Mislim da ATI ne podrzava FP texture filtering nego se oslanja na developere da sami iskodiraju filter u shaderu, sto donosi dodatnu "konfuziju" prilikom pisanja shadera. Negde (davno) sam procitao da je objasnjenje za ovo. ATI smatra da se FP texture najcesce koriste za skybox ili kao render-target i u tim situacijama filtering nije preko potreban. Ukratko.. oni smatraju da niko nece da lepi FP texture po zidovima i modelima.




[Ovu poruku je menjao yooyo dana 27.12.2006. u 10:22 GMT+1]
[ Filip Strugar @ 27.12.2006. 19:00 ] @
Ee hvala tebra! :)

Nacuo sam na par mesta da je to issue - ali nikako nisam uspeo da iskopam te tekstove.

Taj ATI komentar (oko toga da ne ocekuju da se fp textura lepi po zidovima) je cist bullshit jer to definitivno nije jedina stvar za sta ti treba filtering (npr shadow mappinga), bolje da su rekli - 'smatramo da je bolje imati brzi genericki hardver nego sporiji specijalizovani - tako da koristite softverski filtering'.

Citam sad i da postoji neka Fetch4 instrukcija za ATI al mislim da cu za sada napraviti the simpliest possible bilinear filter, pa ako ikad zatreba da to optimizujem, onda cu da razdvojim pathove za NV i ATI... ziveo directx, smrt per-vendor-optimizacijama. :)
[ yooyo @ 27.12.2006. 21:00 ] @
Citat:
ziveo directx, smrt per-vendor-optimizacijama. :)


bockas.. bockas... :)

U OpenGL-u NVidia podrzava FP filtering i u texturama i u pbuffer render targetu i u FBO render targetu.
ATI podrzava filtering samo u pbuffer render targetu dok ostala 2 ne podrzava. Zasto.. nemam pojma.
Izgleda da u DX-u uopste ne podrzavaju fp texture filtering, nego sve moras sam. U stvari.. ne znam kako imaju hrabrosti da kazu da podrzavaju fp texture kada nisu podrzali sve osobine texture (tj. filtering). Pre bi se reklo da ATI nema punu podrsku za fp texture.

btw.. taj Fetch4 moze da se iskoristi kao filter za shadow mapu, ali imaj na umu da prosecna vrednost ta 4 texela nije isto sto i PCF koji daje dosta precizniju ocenu dubine.

Mozda ce te zanimati:
http://www.gamedev.net/community/forums/topic.asp?topic_id=399014
[ Filip Strugar @ 28.12.2006. 01:20 ] @
Citat:
bockas.. bockas... :)

pomalo :) :)

meni u dx-u radi po defaultu filtering (na NV-ji) za 16bit/channel fpoint texture (za sampling, iz rendertarget i obicnih textura), al ne radi za 32bit/channel. A to za ATI sto tvrde da podrzavaju fp filtering sam procitao odgovor koji kaze "pa vidite, mi omogucavamo da vi softverski implementirate filter, tako da je to zapravo podrzano" :))

Da, u pravu si, jer PFC radi na 4 (n) vec uporedjenih dubina, a texture-sampling filter se desava pre poredjenja, pa je sam compare opet true/false, sve sa (doduse malo drukcijim) artifactima - secam se bas da sam se jednom zezao sa time. No ne radim trenutno senke nego za nesto sasvim drugo, pa cu sad da izmozgam kako da napravim rucni filter za to sto mi treba.

10x za link o PSSM (cek, to je bre special case obicnih cascaded shadowsa?), izgleda mi super!
[ yooyo @ 28.12.2006. 12:51 ] @
Pa da.. ali na NV dobijes filter "for free" za 16bit float. Ajde napravi anisotropic filtering u shaderu? Koliko ti semplova treba? A da.. da li je moguce uzimati texele iz razlicitih mip-mapa iste texture u pixel shaderu? Primer:

Code:

float4 c0 = tex2d(texture, coord.xy, 0); // mip-level 0
float4 c1 = tex2d(texture, coord.xy, 1); // mip-level 1
float4 c2 = tex2d(texture, coord.xy, 2); // mip-level 2

float4 finalcol = foo(c0, c1, c2);


PSSM daje odlicne rezultate, ali cena je opterecenje vertex pipeline-a. Posto se renderuje iz vise prolaza, imas visestruko procesiranje iste geometrije.
Treba balansirati izmedju kompleksnosti scene i kvaliteta senki sa shadow mapama.