OpenAL
OpenAL software | |
---|---|
Genere | Application programming interface(non inlista) |
Sviluppatore | Creative Technology |
Data prima versione | giugno 2000 |
Ultima versione | 1.1 (giugno2005) |
Sistema operativo | Multipiattaforma |
Linguaggio | C |
Licenza | LGPL (licenza libera) |
Sito web | openal.org/ |
OpenAL(Open AudioLibrary) è unsoftware liberoche fornisceAPIaudio multi piattaforma. È progettata per un rendering efficiente di audio posizionale a tre dimensioni. Il suo stile e convenzioni delle API ricalcano deliberatamente quelle delleOpenGL.
Storia
[modifica|modifica wikitesto]OpenAL fu sviluppata originariamente dallaLoki Softwareper aiutarli nel loro business di portare giochiWindowssuLinux.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) dallaCreative Technologycon un supporto in corso perAppleed 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 wikitesto]Le funzionalità generali di OpenAL sono codificate inoggetti sorgenti,audio buffere singolilistener.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 formatoPCM,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 delleAPI:il core, consistente nelle vere chiamate alle funzioni OpenAL, e le APIALCche 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 librerieGLUTin relazione alleOpenGL.
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 wikitesto]L'API è disponibile per le seguentipiattaforme:
- Microsoft Windows
- GNU/Linux(supporto siaOSScheALSA)
- macOS
- PlayStation 3
- BSD
- Solaris
- IRIX
- Xbox
- Xbox 360
- MorphOS
Applicazioni
[modifica|modifica wikitesto]Giochi:
- I motori di gioco della id Software comeDoom 3,Jedi Knight 2,Jedi Knight: Jedi Academy,Quake 4ePrey.
- Giochi basati su Unreal Technology comeUnreal 2,Unreal Tournament 2003,Unreal Tournament 2004,Postal²,eAmerica's Army.
- Battlefield 2,Battlefield 2142,Freedom Fighters,Hitman,Psychonauts,Sacred 2,eColin McRae: DiRT.
- Numerosi giochi free software/open-source usano anche OpenAL. Alcuni esempi includonoOpenArena,War§oweWarzone 2100.
Altre applicazioni:
Una lista più esaustiva può essere trovata sul sito di OpenAL.
Voci correlate
[modifica|modifica wikitesto]Collegamenti esterni
[modifica|modifica wikitesto]- (EN)Sito ufficiale,suopenal.org.
- DevMaster.net Tutorials OpenAL(Attenzione: questi tutorial risalgono ad alcuni anni fa e possono invitare all'uso di alcune funzioni ormai deprecate).
- OpenAL SoftArchiviatoil 20 giugno 2013 inInternet Archive., un'implementazioneLGPLdi OpenAl.