Un renderer OpenGL® è un’applicazione software, una libreria o un’interfaccia di programmazione astratta (API) progettata per acquisire informazioni matematiche, geometriche e di trama da un programma e visualizzarle su un dispositivo di output. Il compito di un renderer OpenGL® è quello di colmare il divario tra le informazioni su un oggetto tridimensionale (3D) memorizzato come coordinate, vettori e altri numeri e convertirlo in un’immagine con illuminazione, trame e l’angolo di visualizzazione corretto. OpenGL® include la propria implementazione di rendering, ma questa può essere sovrascritta per migliorare gli algoritmi esistenti o per supportare funzionalità che altrimenti potrebbero non essere supportate con determinate configurazioni hardware. Molti programmi che utilizzano la grafica 3D spesso includono un’opzione per scegliere il tipo di renderer utilizzato, a seconda di ciò che è supportato dall’hardware.
Un uso per un renderer OpenGL® è fornire un’interfaccia personalizzata tra l’API OpenGL® e alcuni hardware proprietario o specializzato. Ciò si verifica spesso con dispositivi mobili o display personalizzati che supportano funzionalità uniche come l’imaging 3D. Personalizzando la parte di rendering di un’applicazione, è possibile individuare le limitazioni o le capacità speciali del supporto di output in modo che il programma funzioni senza problemi e venga visualizzato nel modo desiderato.
Un’altra applicazione per un renderer OpenGL® è aiutare a semplificare le funzioni in modo che vengano eseguite più velocemente o in modo diverso rispetto al renderer predefinito. Questo può essere visto con alcuni videogiochi in cui caratteristiche e funzioni specifiche che vengono raramente utilizzate in programmi non di gioco devono essere ulteriormente espanse per ottenere frame rate elevati e prestazioni costanti. Un renderer personalizzato può essere utilizzato anche durante lo sviluppo del gioco per fornire un ambiente di debug quando altri metodi di rendering causano problemi grafici.
Ci sono alcuni casi, come nel settore della sicurezza, dei trasporti o di altri sistemi integrati, in cui il software potrebbe essere scritto utilizzando OpenGL® per visualizzare informazioni in tempo reale, ma alla fine il software potrebbe non essere eseguito su un sistema dotato di scheda grafica. Un esempio di ciò è un display su un aereo in cui il software è sviluppato e testato su un computer desktop. In questo caso, è possibile utilizzare un renderer OpenGL® per garantire che, sebbene il software utilizzi chiamate di funzioni standard, nessuna delle chiamate non venga eseguita a causa della mancanza di hardware grafico. Questo è un modo in cui le librerie di programmazione standard possono essere utilizzate ovunque attraverso l’emulazione software reindirizzata.