SDL vs GLUT:che supporto per le OpenGL?

29 08 2008

Il mondo della programmazione,si sa,è vasto,anzi vastissimo.Così capita spesso che per svolgere un dato compito,si trovino varie alternative.

Per chi si sta avvicinando alla programmazione 3D tramite le OpenGL,si pone dunque il dilemma:che librerie utilizzo come “base” per OpenGL?

Vi sono ovviamente tante strade,ma le due piu gettonate sono sicuramente le GLUT(OpenGL Utility Toolkit) e le SDL(Simple Directmedia Layer).Ho visto spesso persone indecise fra le due,e io stesso quando ho cominciato non sapevo bene quale scegliere…

Ma cominciamo un po col presentare le due parti.

Questo è quello che dice Wikipedia sulle GLUT(in inglese) e questo quello che dice sulle SDL.

Da qui si puo gia capire la principale differenza fra le due:mentre le GLUT svolgono solo compiti di gestione delle finestre e dell’I/O per conto delle OpenGL,tramite le SDL si possono anche gestire l’audio,gestire l’input da joystick,caricare immagini e tanto altro.

In compenso,un punto a favore delle GLUT è la loro semplicita di utilizzo:c’è bisogno di scrivere poco codice per far funzionare il programma,bisogna preoccuparsi poco della gestione delle finestre etc.. mentre le SDL necessitano di molto codice(relativamente alle GLUT).

Riassumendo:utilizzate le GLUT per progetti piccoli,demo o anche solamente per provare se funziona un concetto o un’idea.Usate invece le SDL per progetti di dimensioni piu grandi e quando siete abbastanza certi che l’idea che avete in testa possa funzionare cosi come ve lo siete immaginato.

Facendo cosi,probabilmente risparmierete non poche righe di codice in fase di progettazione/prima implementazione,ma otterete buoni risultati finali. =)