Qual è la differenza tra OpenGL e GLUT?
La risposta di Daniel Super è la versione breve. È precisa e dovrebbe essere abbastanza buona per il 99% delle persone.
La versione leggermente più lunga è questa: GLUT fornisce codice di utilità per interagire con il window manager del sistema operativo, in modo da poter (più facilmente) richiedere una risorsa chiamata "finestra", che è fondamentalmente un contesto grafico e una coda di eventi di input.
Si usa OpenGL per renderizzare primitive 3D in quel contesto grafico, che non è a conoscenza di nient'altro della finestra come l'input dell'utente, la decorazione della finestra, gli eventi della finestra (come ridimensionamento o minimizzazione) o anche il sistema operativo stesso. Sa solo come trattare la grafica 3D: buffer, viewport, matrici di trasformazione, poligoni, texture, modelli di luce, ombreggiatura ecc.
Per illustrare quanto sia concentrato sul rendering 3D, non conosce nemmeno il rendering dei font (se ricordo bene). Bisogna usare un altro strumento di utilità (neanche GLUT) per caricare i font e renderizzare il testo in una texture, poi attaccarlo a un poligono OpenGL, e applicare l'illuminazione e la trasformazione appropriate per renderlo visibile.