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

OpenAL
software
GenereApplication programming interface (non in lista)
SviluppatoreCreative Technology
Data prima versionegiugno 2000
Ultima versione1.1 (giugno 2005)
Sistema operativoMultipiattaforma
LinguaggioC
LicenzaLGPL
(licenza libera)
Sito webwww.openal.org/

Storia modifica

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

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

L'API è disponibile per le seguenti piattaforme:

Applicazioni modifica

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

Collegamenti esterni modifica

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