Operazione OpenGL di base
Il diagramma seguente illustra come OpenGL elabora i dati. Come illustrato, i comandi immettono da sinistra e passano attraverso una pipeline di elaborazione. Alcuni comandi specificano oggetti geometrici da disegnare e altri controllano la modalità di gestione degli oggetti durante varie fasi di elaborazione.
Le fasi di elaborazione nell'operazione OpenGL di base sono le seguenti:
Elenco di visualizzazione Anziché fare in modo che tutti i comandi procedono immediatamente attraverso la pipeline, è possibile scegliere di accumulare alcuni di essi in un elenco di visualizzazione per l'elaborazione in un secondo momento.
analizzatore La fase dell'elaborazione dell'analizzatore offre un modo efficiente per approssimare la geometria della curva e della superficie valutando i comandi polinomiali dei valori di input.
operazioni per vertice e assembly primitivo OpenGL elabora i punti geometrici, i segmenti di linea e i poligoni di cui sono descritti dai vertici. I vertici vengono trasformati e illuminati e le primitive vengono ritagliate nel riquadro di visualizzazione in preparazione alla rasterizzazione.
rasterizzazione la fase di rasterizzazione produce una serie di indirizzi del buffer di frame e valori associati usando una descrizione bidimensionale di un punto, un segmento di linea o un poligono. Ogni frammento prodotto viene inserito nell'ultima fase, operazioni per frammento.
operazioni per frammento Queste sono le operazioni finali eseguite sui dati prima che vengano archiviate come pixel nel framebuffer.
Le operazioni per frammento includono gli aggiornamenti condizionali del framebuffer in base ai valori z in ingresso e archiviati in precedenza (per il buffer z) e alla fusione dei colori pixel in ingresso con i colori archiviati, nonché la maschera e altre operazioni logiche sui valori pixel.
I dati possono essere input sotto forma di pixel anziché vertici. I dati sotto forma di pixel, ad esempio potrebbero descrivere un'immagine da usare nel mapping delle trame, ignora la prima fase di elaborazione descritta in precedenza e viene invece elaborata come pixel, nella fase delle operazioni pixel. Le operazioni pixel seguenti, i dati pixel sono i seguenti:
- Archiviata come memoria trama, per l'uso nella fase di rasterizzazione.
- Rasterizzato, con i frammenti risultanti uniti nel framebuffer proprio come se fossero stati generati da dati geometrici.