PDA

View Full Version : Ma le innovazioni 3Dfx sono andate nel dimenticatoio?


Fire Fox II
07-09-2003, 00:34
Era una semplice curiosità visto che oggi mi è venuta voglia di fare qualche ricerca... :D

In particolare ho trovato un sito che faceva riferimento a tutte le innovazioni supportate dal voodoo5: davvero niente male!!! :)

Ma queste idee sono state poi implementate da ATI ed nVidia nei loro prodotti?

In particolare mi riferisco a:
T-buffer ed Accumulation buffer
Motion blur
Depth of Field Blur
Soft Shadows and Reflectance Blur

Thanks :)

http://web.tiscali.it/no-redirect-tiscali/deathlord/techlore/2000/multimedia/voodoo5_22000/Q3tbuffer4dett.jpg

Hanamichi
07-09-2003, 00:35
Originariamente inviato da Fire Fox II
Era una semplice curiosità visto che oggi mi è venuta voglia di fare qualche ricerca... :D

In particolare ho trovato un sito che faceva riferimento a tutte le innovazioni supportate dal voodoo5: davvero niente male!!! :)

Ma queste idee sono state poi implementate da ATI ed nVidia nei loro prodotti?

In particolare mi riferisco a:
T-buffer ed Accumulation buffer
Motion blur
Depth of Field Blur
Soft Shadows and Reflectance Blur

Thanks :)

http://web.tiscali.it/no-redirect-tiscali/deathlord/techlore/2000/multimedia/voodoo5_22000/Q3tbuffer4dett.jpg

se nn sbaglio tutti quegli effetti fanno parte delle direct x 9!;)

Dark Schneider
07-09-2003, 00:59
Anche le GeForce 3 supportano quegli effetti da quanto mi risulta.

Le GeForce 4 Ti cmq puoi star certo che le supportano perchè è da lì che nVidia ha iniziato a sfruttare qlc che ha acquistato da 3dfx se non vado errato.

lowenz
07-09-2003, 10:18
Originariamente inviato da Dark Schneider
Anche le GeForce 3 supportano quegli effetti da quanto mi risulta.

Le GeForce 4 Ti cmq puoi star certo che le supportano perchè è da lì che nVidia ha iniziato a sfruttare qlc che ha acquistato da 3dfx se non vado errato.

la 4? LA FX al massimo :)

Motion blur
Depth of Field Blur
Soft Shadows and Reflectance Blur

questi dovrebbero esserci in NV35 (in NV30 i primi 2)

Mecoita
07-09-2003, 10:37
non c'è bisogno di implementare nulla ... quegli effetti sono fattibili anche senza un supporto specifico dell'hardware sin dalle dx7 e senza che causino una perdita apprezzabile di prestazioni.

Dark Schneider
07-09-2003, 11:40
Originariamente inviato da Mecoita
non c'è bisogno di implementare nulla ... quegli effetti sono fattibili anche senza un supporto specifico dell'hardware sin dalle dx7 e senza che causino una perdita apprezzabile di prestazioni.


Ricordavo in realtà qlc del genere...ma non ne ero sicuro :)

shodan
07-09-2003, 12:12
Originariamente inviato da Mecoita
non c'è bisogno di implementare nulla ... quegli effetti sono fattibili anche senza un supporto specifico dell'hardware sin dalle dx7 e senza che causino una perdita apprezzabile di prestazioni.

Be si quegli effetti sono supportati anche dalle DX7 (per esempio la KyroII supporta il motion blur) però in effetti alcuni di quegli effetti richiedono operazioni piuttosto complesse come la traslazione della geometria dell'immagine o il "blending" dei sample fatti in un determinato modo. La Voodoo5, avendo un hardware dedicato, riesce chiaramente a fare quelle operazioni con meno dispendio di risorse. E' anche vero che con i processori attuali e grazie alle enormi capacità delle schede video odierne (che hanno una potenza bruta estremamente superiore a quella delle Voodoo5) la necessità di hardware dedicato per determinati effetti viene a cadere, però non dimentichiamo che all'epoca questo non sempre era vero, visto che le risorse "esterne" al core grafico erano molto più limitate e quindi avere dell'hardware dedicato per determinate funzioni, anche se non molto complesse, a volte era estremamente importante.


CIAO! :)

Grezzo
07-09-2003, 14:31
Mi pare che anche ATI con il Radeon 256 introdusse qualcosa di analogo, ossia la Keyframe interpolation, dati due punti A e B, la GPU calcola il movimento nello spazio che li separa, senza stare a ricalcolare tutto, dovrebbe essere così a grandi linee, poi non so se con i Vertex vettoriali( cosa che mi pare molto probabile) sia possibile fare qualcosa di analogo facendo ruotare i punti dei vertici...:)

shodan
07-09-2003, 19:41
Be con il keyframe interpolation si faceva una cosa del genere (visto che si interpolavano le coordinate dei vertici) però il traslare la geometria (per esempio per utilizzare il famoso FSAA rotated-grid) pur essendo concettualmente simile è un'operazione sempre "fissa", che produce sempre lo stesso risultato (per esempio pixel traslati di 30°). Sicuramente coi vertex shader sarebbe possibile fare una cosa del genere, però l'impatto prestazionale a livello geometrico potrebbe non essere trascurabile (a parte per le nuove schede che macinano poligoni come noccioline). Il grande vantaggio delle Voodoo fu che essendo questo una funzione fissa potevano implementare con relativa semplicità nel silicio i transistor necessari per seguire queste operazioni in modo molto veloce (in pratica riducendo molto il peso delle operazioni geometriche).

Se ho detto quelche inesattezza (probabile... :D) scusatemi! :oink:

CIAO! :)

Grezzo
07-09-2003, 19:56
Originariamente inviato da shodan
Be con il keyframe interpolation si faceva una cosa del genere (visto che si interpolavano le coordinate dei vertici)

Ma si faceva con Vertex shader scalari, oppure si può parlare proprio di una sorta di Vetex shader vettoriale visto che il movimento partiva da traslazioni di cordinate relative ai poligoni?

shodan
07-09-2003, 20:45
Originariamente inviato da Grezzo
Ma si faceva con Vertex shader scalari, oppure si può parlare proprio di una sorta di Vetex shader vettoriale visto che il movimento partiva da traslazioni di cordinate relative ai poligoni?

Perdonami grezzo, ma non ho capito bene la tua domanda relativa alla differenza tra shader scalari o shader vettoriali. Potresti spiegarmi di preciso che intendi per i due?
Comunque il Radeon 256 non ufficialmente non aveva Vertex Shader, anche se ufficiosamente sembra che fosse dotato della versione 0.5 di questi ultimi. Il problema è che abilitandolo forzatamente spesso si hanno blocchi di sistema (o per lo meno così ho letto).
In effetti una funzione avanzata come il Keyframe interpolation senza usare i Vertex Shader sarebbe risultata abbastanza difficile da implementare, ma non impossibile. Può darsi che adottarono una soluzione solo parzialmente programmabile o in ogni caso che poteva adattarsi a determinate circostanze e a determinati input (un po' come il motore HeadCasting di Matrox).

Spero di nuovo di non aver detto baggianate! :oink:

CIAO! :)

Grezzo
08-09-2003, 19:08
Io sapevo che i Verex dx8\9 sono vettoriali e quelli dx7 sono scalari, la differenza sta che nel primo caso non si calcola tutta la scena, bastano 4 punti per far ruotare il vertice trslando la posizione del poligono, in parole povere i dati delle cose che non si muovono non vengono ricalcolati così come i vertici attaccati al vertice che tralsliamo, con gli scalari che hanno generalmente 1 o 2 cordinate si deve ricalcolare tutto...

Sono stato chiaro? Perchè senno ti allungo qualche link...

Ciao

Ps: ma la 256 integrava anche una sorta di pixel shader, ti risulta?

shodan
08-09-2003, 20:18
Originariamente inviato da Grezzo
Io sapevo che i Verex dx8\9 sono vettoriali e quelli dx7 sono scalari, la differenza sta che nel primo caso non si calcola tutta la scena, bastano 4 punti per far ruotare il vertice trslando la posizione del poligono, in parole povere i dati delle cose che non si muovono non vengono ricalcolati così come i vertici attaccati al vertice che tralsliamo, con gli scalari che hanno generalmente 1 o 2 cordinate si deve ricalcolare tutto...

Sono stato chiaro? Perchè senno ti allungo qualche link...

Ciao

Ps: ma la 256 integrava anche una sorta di pixel shader, ti risulta?


Mmm... si in effetti credo di aver capito cosa intendi, però se mi passi qualche link mi fai cosa gradita! ;)

Se per 256 intendi la Radeon 256 la risposta è si, integrava i PS versione 0.6. Il punto è che questi, così come quelli della GF2 (che erano fermi alla versione 0.5) non erano veramente programmabili ma permettevano solo di utilizzare determinati set di impostazioni. Per ricreare delle superfici cromate andavano decisamente bene, nel ricreare superfici riflettenti come quella dell'acqua vista da una certa angolazione andavano un po' meno bene (rispetto agli standard dell'epoca le immagini erano mozzafiato, però in effetti l'acqua non era eccessivamente realistica; già coi PS 1.0 stando alla resa video questo tipo di superfici era gestito molto meglio).

Ciao e grazie per i link! :)


PS: se non ricordo male la Radeon 256 implementava anche un'unità di blending programmabile, però non so per quali effetti fosse utile...

shodan
08-09-2003, 20:19
POST doppio scusate!

cfn
08-09-2003, 21:42
Originariamente inviato da Dark Schneider
Anche le GeForce 3 supportano quegli effetti da quanto mi risulta.

Le GeForce 4 Ti cmq puoi star certo che le supportano perchè è da lì che nVidia ha iniziato a sfruttare qlc che ha acquistato da 3dfx se non vado errato.

la prima gpu a risentire di 3dfx è l'nv30, l'nv25 è una piccola modifica al progetto geforce 3 nv20

purtroppo l'intellisample non gli è riuscito particolarmente bene dato quanto è risultato scadente l'AA di queste schede, sia in qualità che in prestazioni assorbite.
in quel senso ha fatto decisamente meglio ati con il suo R300

Vifani
08-09-2003, 23:39
Originariamente inviato da Fire Fox II
Era una semplice curiosità visto che oggi mi è venuta voglia di fare qualche ricerca... :D

In particolare ho trovato un sito che faceva riferimento a tutte le innovazioni supportate dal voodoo5: davvero niente male!!! :)

Ma queste idee sono state poi implementate da ATI ed nVidia nei loro prodotti?

In particolare mi riferisco a:
T-buffer ed Accumulation buffer
Motion blur
Depth of Field Blur
Soft Shadows and Reflectance Blur

Thanks :)

http://web.tiscali.it/no-redirect-tiscali/deathlord/techlore/2000/multimedia/voodoo5_22000/Q3tbuffer4dett.jpg

Ragazzi comunque è bene chiarire che non si tratta nel modo più assoluto di innovazione proprie di 3dfx. Il Motion Blur, il Depth of Field, ecc... possono essere implementati in OpenGL a partire dalla revisione 1.0 !!! Oggi siamo alla definizione della 1.5 e a breve arriva la 2.0.

Tutti questi effetti (incluso il famoso Full Scene Anti Aliasing) possono essere tranquillamente implementati in OpenGL attraverso i cosìdetti buffer di accumulazione. Ad esempio per il Motion Blur non si fa altro che passare il contenuto del frame buffer di un determinato numero di frame al buffer di accumulazione con una specifica funzionalità (GL_MUL) e alla fine si riversa tutto nel frame buffer finale (quello che viene visualizzato).

Per l'antialiasing non si fa altro che renderizzare la stessa scena in maniera leggermente traslata per un numero di volte che si vuole.

Per il depth of field si renderiza la stessa scena più volte da più punti di vista mantenendo un punto fisso (punto di fuoco).

3dfx non aveva fatto altro che prendere queste funzionalità, facilitarne l'uso e, soprattutto, fornire un certo supporto hardware alla cosa.

Dire che queste funzionalità siano rimaste nel dimenticatoio non è del tutto esatto. Il punto è che i buffer di accumulazione sono piuttosto lenti da usare senza un determinato supporto hardware ed è per questo che solo ultimamente con le schede che girano da un anno a questa parte (da R300 in poi) possiamo dire che il FSAA sia diventato pienamente fruibile. Il depth of field attualmente l'ho visto solo con giochi come Tomb Raider, nella famosa alpha di Doom III e nel 3D Mark 2003, in particolare in Battle of Proxycon si nota tantissimo. Si tratta in tutti i casi di giochi/programmi pesantissimi.

shodan
09-09-2003, 12:45
Originariamente inviato da Vifani
Ragazzi comunque è bene chiarire che non si tratta nel modo più assoluto di innovazione proprie di 3dfx. Il Motion Blur, il Depth of Field, ecc... possono essere implementati in OpenGL a partire dalla revisione 1.0 !!! Oggi siamo alla definizione della 1.5 e a breve arriva la 2.0.

Tutti questi effetti (incluso il famoso Full Scene Anti Aliasing) possono essere tranquillamente implementati in OpenGL attraverso i cosìdetti buffer di accumulazione. Ad esempio per il Motion Blur non si fa altro che passare il contenuto del frame buffer di un determinato numero di frame al buffer di accumulazione con una specifica funzionalità (GL_MUL) e alla fine si riversa tutto nel frame buffer finale (quello che viene visualizzato).

Per l'antialiasing non si fa altro che renderizzare la stessa scena in maniera leggermente traslata per un numero di volte che si vuole.

Per il depth of field si renderiza la stessa scena più volte da più punti di vista mantenendo un punto fisso (punto di fuoco).

3dfx non aveva fatto altro che prendere queste funzionalità, facilitarne l'uso e, soprattutto, fornire un certo supporto hardware alla cosa.

Dire che queste funzionalità siano rimaste nel dimenticatoio non è del tutto esatto. Il punto è che i buffer di accumulazione sono piuttosto lenti da usare senza un determinato supporto hardware ed è per questo che solo ultimamente con le schede che girano da un anno a questa parte (da R300 in poi) possiamo dire che il FSAA sia diventato pienamente fruibile. Il depth of field attualmente l'ho visto solo con giochi come Tomb Raider, nella famosa alpha di Doom III e nel 3D Mark 2003, in particolare in Battle of Proxycon si nota tantissimo. Si tratta in tutti i casi di giochi/programmi pesantissimi.

Come al solito sei conciso e preciso! :)
Non mi resta altro che quotarti! ;)

CIAO! :)

Hanamichi
09-09-2003, 12:52
Originariamente inviato da Vifani
Per il depth of field si renderiza la stessa scena più volte da più punti di vista mantenendo un punto fisso (punto di fuoco).

una cosa... il depth of field sarebbe quell'effetto grafico che sfoca l'immagine? insomma sfoca le immagini in lontananza e quelle in secondo piano come tomb raider giusto?:O :confused:

Vifani
09-09-2003, 13:11
Si, esatto.

Hanamichi
09-09-2003, 13:22
Originariamente inviato da Vifani
Si, esatto.

e per quanto riguardo doom 3 dove viene usato? nn dirmi che viene usato nel momento in cui i mostri ti colpiscono e ci sono gli spostamenti di lato per colpa dell'urto?:eek: :confused:

Vifani
09-09-2003, 14:28
Originariamente inviato da Hanamichi
e per quanto riguardo doom 3 dove viene usato? nn dirmi che viene usato nel momento in cui i mostri ti colpiscono e ci sono gli spostamenti di lato per colpa dell'urto?:eek: :confused:

Non ho visto granché di quella demo. Se non erro è all'introduzione della mappa e3_1 (o una cosa simile). Quando si apre un ascensore ed esce il soldato.

Hanamichi
09-09-2003, 15:24
Originariamente inviato da Vifani
Non ho visto granché di quella demo. Se non erro è all'introduzione della mappa e3_1 (o una cosa simile). Quando si apre un ascensore ed esce il soldato.

nn ho mai visto quel pezzo quindi nn posso dire!:eek:
cmq ho notato nei filmati che dopo aver preso l'urto la telecamera si sposta verso destra o sinistra con uno strano effetto di sfocatura!:p