Che cos'è GLEW e come funziona?


15

Sto cercando una spiegazione per principianti . La spiegazione del sito ufficiale è troppo breve e mi porta a più domande che a risposte:


  • Che cos'è GLEW?

La pagina dello sviluppatore GLEW dice:

La libreria Wrangler estensione OpenGL (GLEW) è una libreria di caricamento estensione C / C ++ open source multipiattaforma . GLEW fornisce meccanismi di runtime efficienti per determinare quali estensioni OpenGL sono supportate sulla piattaforma di destinazione.


  • Ma cos'è una libreria di caricamento delle estensioni?

La wiki di OpenGL dice

Una libreria di caricamento OpenGL è una libreria che carica i puntatori alle funzioni OpenGL in fase di runtime, core e delle estensioni .


  • Cosa significa caricare i puntatori alle funzioni OpenGL ?

  • Che cos'è un'estensione ?

  • Che cosa significa " core e le estensioni "?

Risposte:


20

La maggior parte dei compilatori offre un'intestazione OpenGL che fornisce supporto per OpenGL 1.1, ma la maggior parte delle funzioni fornite in quella versione di OpenGL sono state da tempo deprecate e mancano di importanti funzionalità come shader e oggetti buffer vertici. GLEW è fondamentalmente solo un'intestazione (c'è un file sorgente che deve anche essere compilato, ma puoi semplicemente includerlo nel tuo progetto) che fornisce funzionalità OpenGL più recenti.

Cosa significa estensione?

Ecco un link da OpenGL.org su di loro. Sono solo funzioni aggiuntive per OpenGL che non fanno parte di OpenGL. Forniscono funzionalità che possono essere utili, ma non è possibile garantire che funzioneranno su tutti i computer poiché non fanno parte del core OpenGL.

Cosa significa caricare i puntatori alle funzioni OpenGL?

OpenGL è implementato dal driver grafico come un insieme di funzioni implementate secondo le specifiche, non come libreria autonoma, quindi non può essere semplicemente collegato al progetto.

Devi chiamare una funzione (come GetProcAddress, ma dipende dalla piattaforma per cui stai sviluppando) per ottenere il puntatore della funzione in fase di esecuzione dal driver per ciascuna funzione OpenGL.

GLEW esiste perché farlo può essere molto difficile. È molto più semplice quando puoi semplicemente includere un'intestazione e chiamare una funzione durante l'inizializzazione, che è esattamente ciò che fa GLEW. Inoltre, GLEW è multipiattaforma.

Che cosa significa "core e le estensioni"?

Significa che fornisce le funzioni OpenGL e le estensioni OpenGL.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.