ÖppenAL | |
---|---|
Sorts | API |
Författare | Loki programvara |
Utvecklaren | kreativ teknik |
Skrivet i | C [1] |
Operativ system | plattformsoberoende |
Första upplagan | juni 2000 |
senaste versionen | 1.1 (installationsprogram 2.1.0.0) ( november 2009 ) |
Licens | Proprietär |
Hemsida | openal.org _ |
OpenAL ( Engelska Open A udio Biblioteket ) är ett gränssnitt för applikationsprogrammering för flera plattformar (API) för att arbeta med ljuddata. Nyckelfunktionen är att arbeta med ljud i 3D- rymden och använda EAX- effekter . Stöds av Creative .
OpenAL skapades av Loki Software som ett verktyg för deras affärsporterande spel från Microsoft Windows till GNU/Linux . Efter nedläggningen av företaget utvecklades projektet under en tid av friprogramvarugemenskapen - det lade till funktionaliteten hos ljudkretsuppsättningen inbyggd i NVIDIA nForce . Idag är projektet värd på servern för Creative Technology , och utvecklas till största delen av den.
Efter releasen av version 1.1-specifikationen stängdes den ursprungliga implementeringen av OpenAL, istället föreslås det att använda en proprietär implementering utvecklad av Creative. Som svar skapade den fria mjukvarugemenskapen sin egen implementering baserat på den kvarvarande källkoden från den ursprungliga implementeringen. [2]
Även om OpenAL- stadgan säger att projektet ska ha en "Architecture Review Board" (ARB), liknande OpenGL ARB- projektet , har hittills ingen organisation tagit ansvaret för att bilda en OpenAL teknisk specifikationsstandard. OpenAL-specifikationer finns i utkastform, diskuterade av utvecklare via e-post och på offentliga e-postlistor.
Huvudfunktionerna i OpenAL-biblioteket är källobjekt , ljudbuffertar och en enda lyssnare . Källobjekt inkluderar en buffertpekare, hastighet, position, riktning och ljudintensitet. Lyssnaren innehåller hastigheten, positionen, riktningen och den totala förstärkningen av ljudet som helhet. Buffertar innehåller ljuddata i PCM -format i 8-bitars eller 16-bitars format, såväl som i mono eller stereo . Ljudåtergivningsfunktionen gör de nödvändiga beräkningarna, som att bestämma avstånd, dopplereffekt och så vidare.
För slutanvändaren ger resultatet av bearbetningen av dessa OpenAL-komponenter ett helt naturligt ljud när man flyttar karaktärer i en virtuell 3D-värld. Och en programmerare kan enkelt använda OpenAL i sitt färdiga 3D OpenGL-program.
Till skillnad från OpenGL-specifikationerna inkluderar OpenAL-specifikationerna två API :er: kärnan, som inkluderar OpenAL-funktionsanrop, och ALC (Audio Library Context), ett API som används för att hantera renderingskontexten, kontrollera resursanvändning och aktivera låsningar i flertrådade beräkningar. Det finns också ALUT - ett bibliotek som tillhandahåller funktioner på hög nivå för att förenkla att skriva ett program, det liknar GLUT- biblioteket för OpenGL.
OpenAL är utbyggbart: programmerare eller företag som inte är OpenAL-utvecklare kan lägga till sina egna tillägg till den. Till exempel för att "lära" biblioteket att använda funktionerna i sina enheter med stängda specifikationer. Tillägg kan främjas till ARB-nivå, det vill säga ange OpenAL-specifikationerna i sin nya version.
För avancerad digital signalbehandling eller hårdvaruljudacceleration kan EFX (Effects Extension) eller EAX användas .
Spel [3] :
Andra applikationer: