Z-buffer: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
FrescoBot (discussione | contributi)
m Bot: nomi delle sezioni con la lettera maiuscola e modifiche minori
Collegamenti esterni: Aggiunto il template "Portale"
Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android
 
(4 versioni intermedie di 3 utenti non mostrate)
Riga 1:
[[File:Z-buffer.jpg|thumb|L'immagine complessiva e la sua rappresentazione nello Zz-buffer, in cui sono memorizzate solo le distanze]]
 
Nella [[grafica computerizzata]] tridimensionale, lo '''z-buffering''' è una tecnica di gestione della coordinata corrispondente alla profondità di un oggetto a livello di singolo pixel, ovvero della massima risoluzione possibile. Solitamente viene realizzata dall'[[hardware]], ovvero dalla [[scheda grafica]], che deve essere dotata di un'apposita area di [[memoria (informatica)|memoria]] detta '''z-buffer'''; tuttavia, può avere all'occorrenza anche un'implementazione totalmente [[software]].
 
Lo z-buffering è una delle strategie possibili per risolvere il [[problema della visibilità]] nel [[rendering tridimensionale]], ovvero per stabilire quali parti degli oggetti sulla scena siano visibili e quali siano invece nascoste da altri elementi in primo piano. Nonostante sia una tecnica piuttosto semplice (e lenta), è tuttavia sfruttata nella maggior parte dei motori grafici 3D commerciali.
Riga 8:
Un'altra tecnica molto usata, per quanto meno efficiente, è l'[[algoritmo del pittore]].
 
== Descrizione ==
Quando un oggetto viene renderizzato da una [[scheda grafica 3D]], la profondità dei [[pixel]] che lo rappresentano (la "coordinata z") viene memorizzata nello z-buffer. Questo [[buffer]] è solitamente strutturato come una [[matrice]] bidimensionale, con un elemento per ogni pixel dello schermo. Se un altro oggetto deve essere visualizzato nello stesso punto, la scheda grafica confronta le profondità dei due oggetti sovrapposti; se il nuovo oggetto è più vicino all'osservatore, i valori corrispondenti per il pixel sostituiscono quelli precedenti, e la cella corrispondente dello z-buffer viene anch'essa aggiornata con la nuova profondità.
 
Riga 19:
L'invenzione dello z-buffer viene generalmente attribuita a [[Edwin Catmull]], sebbene [[Wolfgang Straßer]] avesse descritto un'idea simile nella sua [[tesi di dottorato]], nel [[1974]].
 
== Z-buffering nelle schede video moderne ==
 
Nelle schede grafiche più moderne, lo z-buffer usa una porzione significativa della [[larghezza di banda]] disponibile per l'accesso alla memoria. Molte tecniche sono state proposte per ridurre l'impatto dello z-buffering sull'uso delle risorse della scheda; per esempio il [[tile based rendering]] e tecniche di [[Compressione dati lossless|compressione senza perdita di informazione]].
 
== Voci correlate ==
* [[Edwin Catmull]], inventore dello z-buffering
* [[Computer grafica 3D]]
* [[Scheda grafica 3D]]
* [[Z-buffer irregolare]]
* [[Z-order]]
* [[W-buffer]]
 
== Altri progetti ==
{{interprogetto}}
 
== Collegamenti esterni ==
*{{en}}[cita web|http://www.sjbaker.org/steve/omniv/love_your_z_buffer.html |Impara ad amare il tuo z-buffer]|lingua=en}}
*{{en}}[cita web|http://www.sjbaker.org/steve/omniv/alpha_sorting.html |L'alpha-blending e lo Z-buffer]|lingua=en}}
 
{{Portale|informatica}}
==Collegamenti esterni==
*{{en}}[http://www.sjbaker.org/steve/omniv/love_your_z_buffer.html Impara ad amare il tuo z-buffer]
*{{en}}[http://www.sjbaker.org/steve/omniv/alpha_sorting.html L'alpha-blending e lo Z-buffer]
 
[[Categoria:Grafica 3D]]
[[Categoria:Computer grafica]]