ÖppenAL

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 16 februari 2021; kontroller kräver 4 redigeringar .
Ö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 .

Historik

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.

Struktur och funktionalitet

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 .

Implementeringar

OpenAL SI OpenAL Sample Implementation - Original implementering av öppen källkod (BSD-licens), inte tillgänglig för närvarande. Creative OpenAL Creative OpenAL är en implementering av Creative som ersätter OpenAL SI. OpenAL Mjuk OpenAL Soft är en implementering med öppen källkod (LGPL-licens) som underhålls av ett oberoende utvecklingsteam. Baserat på OpenAL SI. [2]

Applikationer

Spel [3] :

Andra applikationer:

Se även

Anteckningar

  1. Det öppna Open Source-projektet på Open Hub: Languages-sidan - 2006.
  2. 1 2 OpenAL Soft - Software 3D Audio (inte tillgänglig länk) . Hämtad 25 oktober 2008. Arkiverad från originalet 20 juni 2013. 
  3. Spel som använder OpenAL . Hämtad 6 mars 2017. Arkiverad från originalet 6 mars 2017.

Litteratur

Länkar