OpenGL: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m note a piè di pagina |
m corr. errore ortografico |
||
Riga 19:
* nascondere le capacità offerte dai diversi acceleratori 3D, richiedendo che tutte le implementazioni supportino completamente l'insieme di funzioni OpenGL, ricorrendo ad un'emulazione software se necessario.
Il compito di OpenGL è quello di ricevere primitive come punti, linee e poligoni, e di convertirli in pixel (''rasterizing'' o [[rasterizzazione]]). Ciò è realizzato attraverso una [[pipeline grafica]] nota come {{en}} [http://www.opengl.org/documentation/specs/version1.1/state.pdf ''OpenGL state machine'']. La maggior parte dei comandi OpenGL forniscono primitive alla pipeline grafica o istruiscono la pipeline su come elaborarle. Prima dell'introduzione di OpenGL 2.0, ogni stadio della pipeline realizzava una funzione fissa ed era configurabile
OpenGL è una API procedurale che opera a basso livello, che richiede al programmatore i passi precisi per disegnare una scena. Questo approccio si pone in contrasto con le API descrittive ad alto livello le quali, operando su [[Albero (grafo)|struttura dati ad albero]] (''scene graph''), richiedono al programmatore solo una descrizione generica della scena, occupandosi dei dettagli più complessi del [[rendering]]. La natura di OpenGL obbliga quindi i programmatori ad avere una buona conoscenza della pipeline grafica stessa, ma al contempo lascia una certa libertà per implementare complessi algoritmi di ''rendering''.
|