OpenAL software | |
---|---|
Genere | Application programming interface (non in lista) |
Sviluppatore | Creative Technology |
Data prima versione | giugno 2000 |
Ultima versione | 1.1 (giugno 2005) |
Sistema operativo | Multipiattaforma |
Linguaggio | C |
Licenza | LGPL (licenza libera) |
Sito web | www.openal.org/ |
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 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.
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.
L'API è disponibile per le seguenti piattaforme:
Giochi:
Altre applicazioni:
Una lista più esaustiva può essere trovata sul sito di OpenAL.