OpenAL | |
---|---|
Typ | API |
Autor | Software Loki |
Vývojář | kreativní technologie |
Zapsáno v | C [1] |
Operační systém | multiplatformní |
První vydání | června 2000 |
Nejnovější verze | 1.1 (instalační program 2.1.0.0) ( listopad 2009 ) |
Licence | proprietární |
webová stránka | openal.org _ |
OpenAL ( anglicky Open A udio L ibrary ) je multiplatformní aplikační programovací rozhraní (API) pro práci se zvukovými daty. Klíčovou funkcí je práce se zvukem ve 3D prostoru a používání EAX efektů . Podporováno společností Creative .
OpenAL vytvořila společnost Loki Software jako nástroj pro jejich obchodní přenosy her z Microsoft Windows na GNU/Linux . Po uzavření společnosti byl projekt nějakou dobu vyvíjen komunitou svobodného softwaru – přidal funkcionalitu zvukového čipsetu zabudovaného do NVIDIA nForce . Dnes je projekt hostován na serveru Creative Technology a z velké části je vyvíjen.
Po vydání specifikace verze 1.1 byla původní implementace OpenAL uzavřena, místo toho se navrhuje použít proprietární implementaci vyvinutou společností Creative. V reakci na to komunita svobodného softwaru vytvořila vlastní implementaci založenou na dochovaném zdrojovém kódu původní implementace. [2]
Ačkoli charta OpenAL uvádí, že projekt by měl mít „Architecture Review Board“ (ARB), podobně jako projekt OpenGL ARB , zatím žádná organizace nepřevzala odpovědnost za vytvoření standardu technické specifikace OpenAL. Specifikace OpenAL existují ve formě konceptu, projednávané vývojáři prostřednictvím e-mailu a na veřejných e-mailových konferencích.
Hlavní funkce knihovny OpenAL jsou zdrojové objekty , audio buffery a jediný posluchač . Zdrojové objekty zahrnují ukazatel vyrovnávací paměti, rychlost, polohu, směr a intenzitu zvuku. Posluchač obsahuje rychlost, polohu, směr a celkový zisk zvuku jako celku. Vyrovnávací paměti obsahují zvuková data ve formátu PCM v 8bitovém nebo 16bitovém formátu a také v mono nebo stereo . Funkce vykreslování zvuku provádí potřebné výpočty, jako je určování vzdálenosti, Dopplerův jev a tak dále.
Pro koncového uživatele dává výsledek zpracování těchto komponent OpenAL zcela přirozený zvuk při pohybu postav ve 3D virtuálním světě. A programátor může snadno použít OpenAL ve svém hotovém 3D OpenGL programu.
Na rozdíl od specifikací OpenGL zahrnují specifikace OpenAL dvě API : jádro, které zahrnuje volání funkcí OpenAL, a ALC (Audio Library Context), API používané ke správě kontextu vykreslování, řízení využití zdrojů a povolení zámků ve výpočtech s více vlákny. Existuje také ALUT - knihovna, která poskytuje funkce na vysoké úrovni pro zjednodušení psaní programu, je obdobou knihovny GLUT pro OpenGL.
OpenAL je rozšiřitelný: programátoři nebo společnosti, které nejsou vývojáři OpenAL, do něj mohou přidávat svá vlastní rozšíření. Například proto, aby „naučil“ knihovnu používat funkce jejich zařízení s uzavřenými specifikacemi. Rozšíření lze povýšit na úroveň ARB, to znamená zadat specifikace OpenAL v jeho nové verzi.
Pro pokročilé digitální zpracování signálu nebo hardwarovou akceleraci zvuku lze použít EFX (Effects Extension) nebo EAX .
Hry [3] :
Další aplikace: