Ora questa domanda potrebbe sembrare (/ è) stupida, ma sto solo entrando in OpenGL.
Così ho installato il sorgente GLFW e sto osservando alcuni semplici esempi. Quello che sto notando è che il codice contiene ancora funzioni "tipiche" di OpenGL, come glColor
o glVertex
, ma contiene anche funzioni "glfw" come glfwSetErrorCallback
.
Non capisco veramente come OpenGL e GLFW (o qualcosa come GLUT) siano in relazione tra loro. Khronos è proprietario di OpenGL, ma programma una libreria per le persone da utilizzare o specifica solo un'API, ad esempio ci sono diverse librerie C ++ ( libc++
e libstdc++
) che implementano la stessa API specificata dal consorzio C ++ ?
Prenderò una supposizione e chiederò se è giusto:
Khronos programma la libreria OpenGL e specifica un'API per esso. GLUT, GLFW e freeglut avvolgono (o meglio estendono) la libreria OpenGL e offrono un comportamento aggiuntivo (ho letto che OpenGL non offre molto per il supporto per l'audio o per l'input).
Il che significa che è possibile utilizzare OpenGL da solo, ma renderebbe parecchie cose difficili. Ma significa anche che hai scritto qualcosa con GLFW, potresti "portarlo" su utilizzando, ad es., Freeglut, e dovresti solo sostituire la funzionalità fornita da glfw(...)
funzioni, ma il gl(...)
woul rimarrà lo stesso. È giusto?