OpenAL

Da Wikipedia, l'enciclopedia libera.
OpenAL
Sviluppatore Creative Technology
Ultima versione 1.1 (12 luglio 2007)
Sistema operativo Multipiattaforma
Linguaggio
Genere Application programming interface (non in lista)
Licenza LGPL
(Licenza libera)
Sito web www.openal.org

OpenAL (Open Audio Library) è una API audio multi piattaforma free software. È progettata per un rendering efficiente di audio posizionale a tre dimensioni. Il suo stile e convenzioni delle API ricalcano deliberatamente quelle delle OpenGL.

Storia[modifica | modifica sorgente]

OpenAL fu sviluppata originariamente dalla Loki Software per aiutarli nel loro business di portare giochi Windows su Linux. Dopo la fine di Loki, il progetto fu mantenuto per un certo periodo di tempo dalla comunità del software libero ma è ora mantenuta (e largamente supportata) dalla Creative Technology con un supporto in corso per Apple ed entusiasti del free software/open source.

Mentre il capo delle OpenAL dice che ci sarà un "Architecture Review Board" (ARB) modellato sulle ARB delle OpenGL, nessuna organizzazione si è mai formata e le specifiche delle OpenAL sono generalmente gestite e discusse via e-mail sulla mailing list pubblica.

Struttura delle API e funzionalità[modifica | modifica sorgente]

Le funzionalità generali di OpenAL sono codificate in oggetti sorgenti, audio buffer e singoli listener. Un oggetto sorgente contiene un puntatore ad un buffer, la velocità, posizione, direzione di un suono e la sua intensità. L'oggetto listener contiene la velocità, posizione, direzione del listener e il guadagno generale applicato a tutti i suoni. I buffer contengono i dati audio nel formato PCM, sia ad 8 che 16 bit, sia in formato mono che stereo. Il motore di renderizzazione esegue tutti i calcoli necessari così come le attenuazioni dovute alle distanze, Effetto Doppler, etc...

Il risultato finale di tutto questo per l'utente finale è che per le applicazioni scritte per utilizzare OpenAL, il suono si comporta abbastanza naturalmente mentre l'utente si muove attraverso lo spazio tridimensionale del mondo virtuale.

Diversamente dalle specifiche OpenGL, le specifiche OpenAL includono due sottoinsiemi delle API: il core, consistente nelle vere chiamate alle funzioni OpenAL, e le API ALC che vengono usate per gestire la renderizzazione del contesto, utilizzo delle risorse ed il locking nelle applicazioni cross platform. C'è anche una libreria 'ALUT' che fornisce funzioni di più alto livello; l'esatto analogo delle librerie GLUT in relazione alle OpenGL.

Per poter fornire funzioni aggiuntive in futuro, OpenAL utilizza un meccanismo di estensioni. Fornitori individuali sono riusciti anche ad includere le loro proprie estensioni nelle distribuzioni di OpenAL, generalmente con lo scopo di mostrare le funzionalità aggiuntive sui loro hardware proprietari. Le estensioni possono essere promosse allo stato di (Architecture Review Board), che indicano una estensione standard per la retrocompatibilità. Le estensioni ARB hanno il prospetto di essere aggiunte alle API principali dopo un certo periodo di tempo.

Portabilità[modifica | modifica sorgente]

L'API è disponibile per le seguenti piattaforme:

Applicazioni[modifica | modifica sorgente]

Giochi:

Altre applicazioni:

  • Blender - Tool di modellazione 3d.
  • Unity - Motore di sviluppo giochi 3D e IDE.

Una lista più esaustiva può essere trovata sul sito di OpenAL.

Voci correlate[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]

Software libero Portale Software libero: accedi alle voci di Wikipedia che trattano di Software libero