OpenAL
Da Wikipedia, l'enciclopedia libera.
Immagine:OpenAL logo.png OpenAL |
|
---|---|
Sviluppatore | Creative Technology |
Ultima versione | 1.1 / 12 Luglio 2007 |
SO | Cross-platform |
Genere | API |
Licenza | LGPL |
Sito web | openal.org |
OpenAL (Open Audio Library) è una API audio multi piattaforma free software. È progettata per un rendering efficente di audio posizionale a tre dimensioni. Il suo stile e convenzioni delle API riassemblano deliberatamente quelle delle OpenGL.
Indice |
[modifica] Storia
OpenAL fu sviluppata originariamente dalla Loki Software per aiutarli nel loro business o f porting 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) modellizato sulle ARB dekke OpenGL, nessuna organizzazione si è mai formata e le specifiche delle sono gereralmente gestite e discusse via e-mail sulla mailing list pubblica.
[modifica] Struttura delle API e funzionalità
Le funzionalità generali di OpenAL è codificata 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 dat iaudio nel formato PCM, sia in 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. Dalla prospettiva di un programmatore pochissimo lavoro aggiuntivo è richiesto per far funzionare il tutto in una applicazione grafica 3D basata sulle OpenGL.
Diversamente dalle specifiche OpenGL, le specifiche OpenAL includono due sottoinsiemi delle API: Il core consistente delle 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 alle 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 compatibilità all'indietro. Le estensioni ARB hanno il prospetto di essere aggiunte alle API principali dopo un certo periodo di tmepo.
[modifica] Portabilità
L'API è disponibile per le seguenti piattaforme:
[modifica] Applicazioni
Giochi:
- I motori di gioco della id Software come Doom 3, Jedi Knight 2, Jedi Knight: Jedi Academy, Quake 4 e Prey.
- Giochi basati du Unreal Technology come Unreal 2, Unreal Tournament 2003, Unreal Tournament 2004, Postal², e America's Army.
- Battlefield 2, Battlefield 2142, Freedom Fighters, Hitman, Psychonauts, e Colin McRae: DiRT.
- Numerosi giochi free software/open-source usano anche OpenAL. Parecchi altri esempio includono War§ow e Warzone 2100.
Altre applicazioni:
- Blender - Tool di modellizazione 3d.
- Unity - Motore di sviluppo giochi 3D e IDE.
Una lista più esaustiva può essere trovata sul sito di OpenAL.
[modifica] Voci correlate
- Environmental audio extensions
- OpenGL
- GLUT
- OpenSL ES
[modifica] Collegamenti esterni
- Portale Software libero: accedi alle voci di Wikipedia che parlano di Software libero