Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Guida SDL - Introduzione

Guida SDL

Capitolo 1° - Introduzione

Prossimo >>
Guida

libreria SDL

di

Giovanni Di Liberto

aka Oligoatria

2006-2007



Introduzione



Cos'è la libreria SDL:
Simple DirectMedia Layer - SDL, è una libreria multipiattaforma per lo sviluppo di applicazioni multimediali. In parole semplici, si tratta di un'utile concentrazione di funzioni riguardanti grafica, suoni, eventi, thread, e altro.

Queste si pongono tra l'hardware e l'applicazione, rendendo così possibile la creazione di videogiochi, demo, emulatori, etc., molto performanti.

Creata nel 1997 da Sam Lantinga, è stata utilizzata per effettuare il port di alcuni famosi videogiochi dal sistema Windows a Linux. La libreria è open-source; in particolare è rilasciata sotto licenza GNU LGPL (GNU LESSER GENERAL PUBLIC LICENSE - per informazioni rimando al link http://www.gnu.org/licenses/lgpl.html), dunque può essere utilizzata per lo sviluppo di applicazioni commerciali, anche closed-source, a patto che le modifiche apportate al codice sorgente del software stesso vengano rese pubbliche e che sia inserito un linking dinamico alla libreria stessa.



Requisiti minimi per affrontare questa guida:

Conoscenza discreta del C++;

M. Visual C++ (solo per la compilazione, senza modifiche, dei sorgenti);

Una release completa SDL, la mia è la versione 1.2.9.0;      

Tanta voglia di imparare e sperimentare.



Il mio apprendimento:  
Il mio primo problema, quando ho deciso di provare ad utilizzare questa libreria, è stato trovare una guida che mi facesse procedere passo passo in via pratica (un po' di teoria l'avevo già studiata e ciò che mi interessava era solo "disegnare un cerchio sullo schermo"). Purtroppo ho trovato solo guide tecniche infinite in inglese, mentre in italiano solo brevissimi tutorial. I sorgenti presenti in rete erano molto complicati (non tutti solo in apparenza) e così il mio apprendimento è stato lento e pieno di lacune.

La svolta è stata quando mi sono reso conto che la mia versione 1.2.9.0 aveva un fastidioso bug riguardo la trasparenza delle immagini. Inoltre le guide che stavo studiando non mi fornivano delle spiegazioni esaustive su tutte le possibilità della release. Così mi sono deciso a personalizzare un po' la libreria.



Perché questa guida:
Sulla rete sono disponibili così tanti suggerimenti sull'SDL che ho pensato: "copia e incolla, metto un titolo e divento famoso"! A parte gli scherzi, sono convinto che ci sia molta gente interessata alla grafica, in particolar modo se mirata alla creazione di videogiochi, e credo che l'SDL sia un ottimo punto di partenza per chiunque intenda poi approfondire l'argomento programmazione grafica, sia 2D che 3D. Ovviamente non è sufficiente limitarsi all'utilizzo delle funzioni, ma è necessario capirne il funzionamento per poterle utilizzare al meglio e, se necessario, ampliarle.

L'obiettivo di questa guida è fornire i concetti chiave e le relative funzioni SDL per permettere di proseguire da soli, approfondire e implementare le proprie idee, ancora carichi di interesse.



Quali possibilità fornisce la libreria SDL?:
Ci vengono messe a disposizione molte funzioni, raggruppabili in sette categorie principali:

Video

Gestione delle finestre

Gestione degli eventi

Timer

Multi-threading

Audio

Interfaccia CD-Audio



Nota fondamentale:
Gli esempi relativi a questa guida sono scaricabili dal sito http://www.pierotofy.it, sezione C++ - è sufficiente cercare SDL e nella lista saranno presenti i file SDL_Example* (1, 2, 3, ) - e nel sito  http://www.oligoatria.netsons.org.
Prossimo >>
A proposito dell'autore

Laurea in Ingegneria Informatica. Dottorato in Neuroingegneria. Conosco i linguaggi C/C++, Java, Delphi, jsp e servlet, PHP, SQL, Bash, R, Matlab, Lisp. Esperienza con le librerie SDL e OpenGL, Ogre3D e Ode, MFC e CLR, Winsock. Conoscenza base di: VB, Assembly.