View Full Version : thread sull'antialiasing
vorrei fare un 3d utile e senza casini sul'antialiasing.
dove vengano distinti vari tipi di aa, funzionamento ed efficacia(magari con qualche screen)
gli antialiasing da me conosciuti sono:
supersampling
multisampling
quincux
edge
fragmented aa
sotto e datemi na mano!
alora il supersampling consiste nell elaborare l'immaginea riaoluzione più alta di quella visualizzata alla fine e poiu scalarla.
per esempiuo ad 800*600 se apllico l'aa supersampling 4x l'immagine viene elaborata a 1600*1200.
ora sto metodo è il più dispendioso e scarso come risultati.
visto che non ho un monitor che arrivi a 1600 qualcuno ha screen che mostrino la differenza tra un 800*600 4x e un 1600*1200?
qualsiasi gioco o apllicazione va bene.
Quello della Parhelia mi pare sia il migliore anche se per il momento non molto ottimizzato con i giochi, cmq dicono che arrivi a 16x senza problemi.
Originally posted by "xpx"
Quello della Parhelia mi pare sia il migliore anche se per il momento non molto ottimizzato con i giochi, cmq dicono che arrivi a 16x senza problemi.
si, ma è pieno di bug
faccio un copia incolla dawww.litium.it del antialiasing quincux, un ottimo aa a mio avviso ;)
Quincunx". Questa tecnica consiste nel replicare il rendering del fotogramma in due aree distinte del frame-buffer, in una seconda passata la prima copia viene sovrapposta alla seconda con uno scostamento di mezzo pixel in orizzontale e verticale, così un pixel di una copia del fotogramma si viene a trovare sovrapposto a 4 pixel dell'altra copia. Un'opportuna operazione di filtraggio permette di ottenere il fotogramma finale.
http://www.lithium.it/quincunx.gif
Il Quincunx, a dispetto del nome impronunciabile, è straordinariamente efficace e riesce a generare un output filtrato in AA impiegando solo 2 cicli per pixel. I risultati parlano da soli:
Prova fatta con P4 1.5GHz e Q3, normal, 1024x768 a 32bit
No AA 160 fps
2x AA Multi-Sampling 85 fps
4x AA Multi-Sampling 51 fps
4x Quincunx 72 fps
Jaguar64bit
18-12-2002, 20:00
L' Antialising della Parhelia si chiama FRAGMENTED AA16 x.........
Se quello della Parhelia fosse ben supportato come gli altri sarebbe senza dubbio il migliore di tutti. Vi immaginate 16x!!!?!?!?! ;)
Jaguar64bit
18-12-2002, 20:08
Originally posted by "checo"
vorrei fare un 3d utile e senza casini sul'antialiasing.
dove vengano distinti vari tipi di aa, funzionamento ed efficacia(magari con qualche screen)
gli antialiasing da me conosciuti sono:
supersampling
multisampling
quincux
edge
fragmented aa
sotto e datemi na mano!
L'hai aggiunto dopo che te l'ho detto io............volpins ;)
------Ultima modifica di checo il 18-12-2002 21:02, modificato 1 volta in totale------- :p
Originally posted by "checo"
faccio un copia incolla dawww.litium.it del antialiasing quincux, un ottimo aa a mio avviso ;)
Quello di cui hai riportato il funzionamento e' il Quincunx come viene svolto dal geforce3.
Il geforce4 invece utilizza quest'altro metodo :
http://www.nvitalia.com/articoli/anteprima_geforce4/5.htm
So che l'articolo l'ha scritto una brutta bestia pelosa di nick CS25, ma posso assicurarti che e' attendibile ;)
Poi ne approfitto per distinguere 2 implementazioni differenti di multisampling : quella Nvidia definita ordinated grid multisampling che "prende" i subpixel campione come illustrato nell'esempio del quincunx; quella 3dfx invece prendeva i pixel in maniera differente, in pratica ruotati di 90°. Non quelli ai 4 angoli, ma quelli a meta' dei lati dell'ipotetico quadrato nelle illustrazioni di cui sopra, da li' la definizione rotated grid multisampling
Ovviamente i puristi storceranno il naso di fronte a spiegazioni tanto sommarie, ma non credo serva a molto precipitarsi enormemente nello specifico : non ci capirebbe nessuno e non darebbe nessun vantaggio pratico a chi ne usufruisce :)
biancoros
18-12-2002, 22:06
ma cosa lo tengono a fare il 2x nelle geforce4?
oggi per curiosità ho provato a mettere l'fsaa a 2x invece del solito quincunx...... praticamente stesso risultato![/u]
Hanamichi
18-12-2002, 22:09
Originally posted by "xpx"
Se quello della Parhelia fosse ben supportato come gli altri sarebbe senza dubbio il migliore di tutti. Vi immaginate 16x!!!?!?!?! ;)
si però ha dei bug per colpa dei driver che non riesce a individuare tutte le linee che hanno l'aliasing e quindi l'effetto è più brutto:D
Ma oggettivamente parlando, quale delle varie implementazioni offre la qualità migliore? Ho più volte letto o sentito pareri che sostengono che l'FSAA implementato dalla defunta 3DFX sia quello qualitativamente superiore a tutti, tanto che si tende a paragonare il 2x delle V5 con il 4x delle Radeon8500 o GF3. Ho anche sentito dire che il 4xS implementato sulle GF4 sia molto simile come tecnica al 4x delle V5.
Qualche chiarimento in proposito?
Ciao.
Hanamichi
18-12-2002, 22:17
Originally posted by "Custode"
Ma oggettivamente parlando, quale delle varie implementazioni offre la qualità migliore? Ho più volte letto o sentito pareri che sostengono che l'FSAA implementato dalla defunta 3DFX sia quello qualitativamente superiore a tutti, tanto che si tende a paragonare il 2x delle V5 con il 4x delle Radeon8500 o GF3. Ho anche sentito dire che il 4xS implementato sulle GF4 sia molto simile come tecnica al 4x delle V5.
Qualche chiarimento in proposito?
Ciao.
da quello che so io dovrebbe essere così:
quello della voodoo 5 è il migliore,non ricordo che tecnica usa ma è il migliore,forse era edge
Supersampling:è il migliore in qualità ma il peggiore in velocità
Multisampling: veloce è ottima qualita,anche se inf al supersampling.
il peggiore è il fragment 16X:anche se usa l'anti aliasing a 16X ha dei problemi in cui non riconosce tutti i poligoni aliasati,quindi anche se si vede bene,molti pezzi rimangono aliasati.Se toglierebero sto problema sarebbe il migliore:D
Jaguar64bit
18-12-2002, 22:50
Originally posted by "Hanamichi"
Ma oggettivamente parlando, quale delle varie implementazioni offre la qualità migliore? Ho più volte letto o sentito pareri che sostengono che l'FSAA implementato dalla defunta 3DFX sia quello qualitativamente superiore a tutti, tanto che si tende a paragonare il 2x delle V5 con il 4x delle Radeon8500 o GF3. Ho anche sentito dire che il 4xS implementato sulle GF4 sia molto simile come tecnica al 4x delle V5.
Qualche chiarimento in proposito?
Ciao.
da quello che so io dovrebbe essere così:
quello della voodoo 5 è il migliore,non ricordo che tecnica usa ma è il migliore,forse era edge
Supersampling:è il migliore in qualità ma il peggiore in velocità
Multisampling: veloce è ottima qualita,anche se inf al supersampling.
il peggiore è il fragment 16X:anche se usa l'anti aliasing a 16X ha dei problemi in cui non riconosce tutti i poligoni aliasati,quindi anche se si vede bene,molti pezzi rimangono aliasati.Se toglierebero sto problema sarebbe il migliore:D
Hamanichi non ne hai azzeccata una...... :D
Originally posted by "CS25"
faccio un copia incolla dawww.litium.it del antialiasing quincux, un ottimo aa a mio avviso ;)
Quello di cui hai riportato il funzionamento e' il Quincunx come viene svolto dal geforce3.
Il geforce4 invece utilizza quest'altro metodo :
http://www.nvitalia.com/articoli/anteprima_geforce4/5.htm
So che l'articolo l'ha scritto una brutta bestia pelosa di nick CS25, ma posso assicurarti che e' attendibile ;)
Poi ne approfitto per distinguere 2 implementazioni differenti di multisampling : quella Nvidia definita ordinated grid multisampling che "prende" i subpixel campione come illustrato nell'esempio del quincunx; quella 3dfx invece prendeva i pixel in maniera differente, in pratica ruotati di 90°. Non quelli ai 4 angoli, ma quelli a meta' dei lati dell'ipotetico quadrato nelle illustrazioni di cui sopra, da li' la definizione rotated grid multisampling
Ovviamente i puristi storceranno il naso di fronte a spiegazioni tanto sommarie, ma non credo serva a molto precipitarsi enormemente nello specifico : non ci capirebbe nessuno e non darebbe nessun vantaggio pratico a chi ne usufruisce :)
interessante differenza.
visto che hai scritto quell'articolo ti chiedo.
su un g4 in d3d ho i seguenti aa
2x
2xquincux
4x
2x2 quincux
4x
4x 9 tap
4xs
6xs
8xs
sono tutti multisampling?
che differenza c'è tra 2x e 2x2 quincux? e il 4x 9 tap?
Gohansupersaiyan4
18-12-2002, 23:21
Il fragment 16x non è un aa 16x , non è neanche un aa che vada a tutto schermo, come pesantezza è a livello di un 2x non certo di un 16x, in ogni caso è ottimo perchè richiede pochissima potenza, ma non perchè va come un 16x...
Ciao !
Originally posted by "checo"
2x
2xquincux
4x
2x2 quincux
4x
4x 9 tap
4xs
6xs
8xs
sono tutti multisampling?
che differenza c'è tra 2x e 2x2 quincux? e il 4x 9 tap?
Allora, sono tutti multisampling, anche se ottenuti in maniera differente alcuni dagli altri.
Il 2x quincunx e' quello "classico", il 2x2 quincunx invece sarebbe effettivamente una sua implementazione ampliata al doppio dei sample, si va a posizionare quindi tra un ipotetico 4x ed un 6x.
Le modalita' XS invece sono ottenute tramite rotated grid antialiasing e sono quelle che vantano il maggior numero di subpixel calcolati per definire il colore dei pixel, quindi maggiore precisione e minore maltrattamento delle texture.
Il 4x 9 tap non e' altro che il 4x multisampling + l'anisotropic filtering al massimo della qualita'.
Riguardo le modalita' XS aggiungo un'altra cosa per completezza : c'e' una comune diatriba su come vengano ottenute, in quanto alcuni ipotizzano che ci sia di mezzo del supersamplig, e cioe' che l'algoritmo sommi un 4x (o 6x o 8x) ad un livello di AA supersampling per l'effetto finale... onestamente non so dire se queste ipotesi siano vere o no, nessuno ha modo di verificare i sorgenti dei driver :)
In finale, il vero problema del fragment e' la difficolta' intrinseca di calcolare quali pixel vadano trattati e quali no. Serve un algoritmo *complicatissimo* e *raffinatissimo* per eseguire tale compito alla perfezione, e l'implementazione Matrox nonostante sia ottima, e' lontana anni luce dalla perfezione e lascia numerose zone non "ritoccate" sullo schermo.
uhm diciamo che al di la dei nomi piu o meno markettosi le tecniche antialiasing si dividono in:
1) supersampling
2) multisampling
a sua volta il supersampling puo essere :
1) Ordered Grid Super-Sampling ( OGSS )
2) Rotated Grid Super-Sampling ( RGSS )
Il supersampling è la tecnica usata da ATI RADEON7000/7200/7500, NVIDIA GeForce 256, GeForce2GTS/Pro/Ultra/Ti, GeForce2 MX.
Col supersampling ogni pixel della scena è diviso in vari subpixel che sono processati indipendentemente e scritti in buffer separati, dopo che la scena è stata costruita avviene il procedimento inverso: i vari subpixel vengono filtrati secondo un certo schema in modo che la media dei loro colori sia poi il colore finale del pixel.
Detto in soldoni la scena è renderizzata ad una soluzione maggiore ( ad esempio un 800x600 con aa 2x viene rederizzata a 1600x 1200 ) e poi viene fatta una media tra i colori dei vari pixel. Il VSA100 della mai troppo compianta :D 3dfx lavorava in modo diverso: invece di renderizzare in res superiori faceva delle copie del frame ( 2 o 4 a seconda del tipo di AA usato ) che poi venivano sovrapposte leggermente traslate per avere la media finale.
il secondo tipo di AA è proprio il RGSS di 3dfx che differisce dal OGSS per la differente posizione dei sub sample. Nell' OGSS i sub sample sono paralleli agli assi verticali e orizzontali del frame, nel RGSS invece la griglia dei sub sample è ruotata di un certo angolo.
E' un fatto ampliamente dimostrato che l' RGSS offre migliori risultati del OGSS.
nVidia col GF3 introdusse una nuova ( ehm ) tecnica di AA: il multisampling
Il multisampling differisce dal Supersampling semplicemente per il fatto che il chip ora non è costretto a processare tutti i pixel dell'immagine ma processa solo quelli sugli edge dei poligoni.
in poche parole l'AA multisampling lavora come il SS : costruisce una immagine a ris superiore e la filtra tramite un certo schema.
Quello che cambia è che durante la costruzione dell'immagine il chip fa un check per sapere dove è posizionato quel subsample.
- se ogni subpixel del pixel è dentro il poligono ( e quindi non necessita di essere processato allora si assegna lo stesso colore a tutti i subpixel del pixel
- se uno dei subpixel non risulta essere dentro il poligono ma sul " bordo" ( e quindi necessita di essere processato ) i vari subpixel sono calcolati indipendentemente ma solo ai subpixel " dentro " il poligono si assegna immediatamente il colore. A quelli sul "bordo" ilcolore viene assegnato dopo aver processato anche il triangolo adiacente.
In definitiva il multisampling offre la stessa qualità del supersampling con una perdita di prestazioni di gran lunga inferiore.
Questo in sintesi è la teoria generale ... ad un altro post per il particolare ^_^
Caspita, navigo proprio nell'ignoranza sull' AA.
Quindi, se ho capito bene, la qualità migliore si ottiene con l' RGSS di 3DFX, mentre il Multisampling delle GF4 offre qualità simile al Supersampling, ma prestazioni superiori.
Domanda: perchè l' RGSS non viene implementato da nessuna delle nuove schede video? Offre qualità superiore, ma prestazioni scadenti?
Sto seguendo ultimamente un post su 3DFXzone sulla qualità video tra V5 e Radeon8500: da quello che si è argomentato in quella discussione sembra che il 2x RGSS delle V5 renda quanto un 4x Supersampling delle 8500 ed abbia prestazioni molto superiori (questo a prescindere dalla scarsa implementazione dell' AA su 8500, dove le prestazioni calano a picco). Ora che abbiamo Radeon9700Pro e le future GeForceFX che permettono AA 4x con cali prestazionali quasi nulli, il confronto qualitativo è sempre quello sopra accennato, cioè il 4x di una 9700Pro rende come un 2x di una V5?
Ciao.
Non saltare a conclusioni affrettate!
Il multisampling rotated grid non ha qualita' migliore del supersamling, in quanto tecnicamente quest'ultimo garantira' SEMPRE il massimo semplicemente perche' si va a calcolare il colore di ogni singolo pixel!
Il multisampling in se' e' un algoritmo che cerca, a costo di una seppur piccola perdita di qualita', a risparmiare buona parte dei calcoli, in stile "compressione delle texture" o "compressione audio".
Oltretutto, come spiegato, il 4XS (ed ora 6XS e 8XS) di Nvidia e' a tutti gli effetti rotated grid multisampling, come quello del V5 (anche se, ripeto, alcuni obiettano insinuando che sia semplicemente aggiunto un livello di SS... per chiarezza lo riporto sempre....)
In finale, non e' assolutamente vero che il 2x del voodoo5 renda come il 4x supersampling del radeon8500 o come un 4x multisampling ordinated grid :)
Parlando del radeon9700pro, il suo multisampling si va a collocare a meta' strada come qualita' tra il classico ordinated e il rotated : i sample infatti sono presi in maniera meno omogenea, non necessariamente solo quelli ai bordi della texture, non necessariamente solo al centro. Lo schema e' piu' "mescolato" e questo dovrebbe garantire una precisione soddisfacente e il medesimo risparmio di banda.
Posso testimoniare che il 4x Ati e' eccellente :)
Grazie per il chiarimento! E' da parecchio che seguo l'evoluzione hardware delle schede video, ma non è che sia un genio nel comprendere il funzionamento di alcune feature (tra cui l' AA), quindi solitamente mi limito a raccogliere più pareri possibili o a fare raffronti qualitativi sulle immagini che si postano in varie discussioni, con tutti i limiti che questo comporta. L' AA è qualcosa che mi ha sempre affascinato (anche se non lo uso), ma di cui ho sempre odiato il calo prestazionale (anche minimo: faccio parte della categoria, molto bistrattata, che più fps è meglio comunque...). Ultimamente, come già detto, sto seguendo un interessante raffronto su 3DFXzone tra Amigamerlin e Simon82 sulla resa qualitativa e prestazionale dell' FSAA: non è giusto da parte mia riportare o interpretare i commenti lì pervenuti (è molto più sensato andare a leggerli di persona per farsi un' idea obiettiva), ma sembrerebbe che la resa del 2x della V5 sia paragonabile a quella 4x di una 8500 (o comunque ben superiore alla 2x), da qui il dubbio.
Ciao.
Originally posted by "Mecoita"
( ad esempio un 800x600 con aa 2x viene rederizzata a 1600x 1200
800*600 se la rederizzo a 1600*1200 è 4x poichè l'immagine è 4 volte più grande(area) no?
Originally posted by "CS25"
Oltretutto, come spiegato, il 4XS (ed ora 6XS e 8XS) di Nvidia e' a tutti gli effetti rotated grid multisampling, come quello del V5 (anche se, ripeto, alcuni obiettano insinuando che sia semplicemente aggiunto un livello di SS... per chiarezza lo riporto sempre....)
Posso testimoniare che il 4x Ati e' eccellente :)
il 4xs temo che centri poco con il RGSS :
New hybrid AA mode: 4xS.
The new hybrid (MS and SS simultaneously) mode of full-screen anti-aliasing is available on NV25 based cards. Two subunits (2x1) positioned one over the other and obtained the way typical of the 2x MSAA are averaged in every original 2x2 AA unit (a usual 4x MSAA unit is shown on the right for comparison):
http://www.ixbt.com/video/images/gf4/aa4xs.png
S1 is the first 2x1 subunit, and S2 is the second one. Samples are calculated according to the multisampling method inside the subunit, i.e. from one selected texture value, but texture values can differ in upper and lower subunits, unlike in a usual 4x MSAA. From the accelerator's standpoint we just calculate a vertically doubled image in a standard 2x MSAA mode (2x1 units). This mode can also be set up in the NV20 but only through undocumented driver parameters in the register. The NV25 based cards allow making this setting in the driver's control panel. It should be noted that the NV25 performs excellently: although the number of interpolated texture values is now twice larger, the performance differs from the 4x by just a couple of percents, and visual quality is much better. This method can't improve the situation considerably on polygons' edges - SSAA and MSAA look similar there, but textures must be now less blurry. Moreover, for horizontal surfaces (landscapes, floor, ceiling) this method implements some anisotropic filtering functions (2x quality). Later we will examine closely realization of the 4xS on real images and performance results
http://www.digit-life.com/articles/anyforus/index6.html
Originally posted by "checo"
( ad esempio un 800x600 con aa 2x viene rederizzata a 1600x 1200
800*600 se la rederizzo a 1600*1200 è 4x poichè l'immagine è 4 volte più grande(area) no?
naturalmente .. ogni pixel viene diviso in 4 subpixel quindi si raddoppiano la larghezza e l'altezza e si quadruplica l'area complessiva
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.