„OpenAL“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
toter link auf aktuelle website geleitet |
K Screenshot ist Quatsch |
||
Zeile 2: | Zeile 2: | ||
| Name = OpenAL |
| Name = OpenAL |
||
| Logo = [[Datei:OpenAL Logo.svg|150px|OpenAL Logo]] |
| Logo = [[Datei:OpenAL Logo.svg|150px|OpenAL Logo]] |
||
| Screenshot = <!-- NUR BEI FREIER SOFTWARE --> |
|||
| Beschreibung = <!-- Beschreibung des Bildschirmfotos --> |
|||
| Hersteller = [[Creative Technology]] (Standard), Strangesoft (Implementierung) |
| Hersteller = [[Creative Technology]] (Standard), Strangesoft (Implementierung) |
||
| AktuelleVersion = 1.19.1 |
| AktuelleVersion = 1.19.1 |
||
Zeile 12: | Zeile 10: | ||
| Lizenz = [[GNU Lesser General Public License|LGPL]] |
| Lizenz = [[GNU Lesser General Public License|LGPL]] |
||
| Deutsch = nein |
| Deutsch = nein |
||
| Website = [ |
| Website = [https://www.openal.org/ www.openal.org] |
||
}} |
}} |
||
Version vom 7. Februar 2022, 12:23 Uhr
OpenAL
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Creative Technology (Standard), Strangesoft (Implementierung) |
Erscheinungsjahr | Juni 2000 |
Aktuelle Version | 1.19.1 (Format invalid) |
Betriebssystem | plattformunabhängig |
Programmiersprache | C |
Kategorie | API |
Lizenz | LGPL |
deutschsprachig | nein |
www.openal.org |
OpenAL (Open Audio Library) ist eine plattformunabhängige Programmierschnittstelle zur Erzeugung von dreidimensionalen Soundeffekten und Raumklang, die hauptsächlich für die Computerspielentwicklung geschaffen wurde, aber auch in verschiedensten Audioanwendungen Verwendung findet. Mit OpenAL lassen sich Soundeffekte wie Raumklang und Doppler-Effekt erstellen und einbinden, auch Hardwarebeschleunigung wird unterstützt.
Die Weiterentwicklung des OpenAL-Standards ist ab Version 1.1 aus dem Jahr 2006 eingeschlafen.[2] Die Software-Implementierung von OpenAL unterliegt der freien und quelloffenen GNU Lesser General Public License und liegt aktuell in der Version 1.19.1 vor.[3]
Technische Details
Die OpenAL-Programmierschnittstelle (API) kann und soll als Ergänzung zu den Grafik-APIs OpenGL und OpenCL gesehen werden, daher wurde bei der Entwicklung besonders auf Angleichung von Aufbau, Programmierstil und Namenskonventionen geachtet. Durch die kombinierte Nutzung der beiden Bibliotheken ist eine hohe Portierbarkeit gewährleistet. Ebenso wie bei OpenGL gibt es OpenAL-Implementierungen für zahlreiche Plattformen und Programmiersprachen, die meisten sind in der Programmiersprache C geschrieben.
OpenAL ist als direkter Konkurrent zu Microsofts DirectSound – ein Bestandteil von DirectX – anzusehen. Dank der guten Portierbarkeit hat OpenAL bis heute eine weite Verbreitung gefunden, es gibt zahlreiche Programme und Spiele, die OpenAL nutzen. Das Betriebssystem macOS von Apple verwendet für die Audiowiedergabe standardmäßig die OpenAL-Schnittstelle.
Geschichte
Die ursprüngliche Idee zu OpenAL entstand 1998 bei Loki Software. Loki Software beschäftigte sich zu dieser Zeit hauptsächlich mit der Portierung von Windows-Spielen nach Linux, da lag der Gedanke nahe, eine Audio-API korrespondierend zu der Grafik-API OpenGL zu entwickeln. Da die ersten Versuche nur wenig hervorbrachten, kam man 1999 mit Creative Labs ins Gespräch, um gemeinsam eine standardisierte, plattformunabhängige Audio-API zu entwickeln. Aus dieser Zusammenarbeit entstand im Jahr 2000 die OpenAL-1.0-Spezifikation.
Die ersten Bibliotheken wurden noch im selben Jahr für Linux, Windows, Mac OS 8/9 und BeOS herausgegeben, ein Jahr später veröffentlichte Creative Labs die erste Bibliothek mit Unterstützung der Hardware-Beschleunigung des Sound Blaster Live. Diese arbeitete jedoch nur auf Mac OS 8/9 und Windows. Seither wird beständig an der OpenAL-Bibliothek weitergearbeitet, Unterstützung für weitere Plattformen und Audio-Hardware wurde hinzugefügt.
Die zukünftige Entwicklung des OpenAL-Projekts soll ähnlich ablaufen wie im OpenGL-Projekt: Die Hardwarehersteller schreiben Erweiterungen (Extensions) zu OpenAL, welche auch die neuesten Merkmale ihrer Audiogeräte unterstützen. Diese werden durch ein Architecture Review Board (ARB) geprüft, erst zu standardisierten Erweiterungen umgewandelt und später eventuell in den Funktionsumfang von OpenAL aufgenommen.
Unterstützte Plattformen
Die hier gelisteten Plattformen werden voll von der OpenAL-1.0-Implementierung unterstützt, weitere sind in Arbeit.
Plattform | Gerät | Lizenz |
---|---|---|
Mac OS 8/9 | Sound Manager | LGPL |
macOS | Core Audio | LGPL |
Linux | OSS | LGPL |
ALSA | LGPL | |
Enlightened Sound Daemon | LGPL | |
PulseAudio | LGPL | |
BSD | Nativ | LGPL |
Solaris | Nativ | LGPL |
IRIX | Nativ | LGPL |
Windows | MMSystem | LGPL |
DirectSound/DirectSound3D | LGPL | |
Nvidia nForce | LGPL | |
Creative Audigy/X-Fi | Creative Labs | |
Xbox | Nativ | Creative Labs |
Xbox 360 | Nativ | Creative Labs |
Unterstützte Programmiersprachen
OpenAL selbst ist in C programmiert, es existieren Implementierungen/Bindings für verschiedene Programmiersprachen:
Sprache | Name | Plattformen | Binding/Implementierung |
---|---|---|---|
.NET | Tao Framework | Windows, Linux | Binding |
.NET | Silk.NET[4] | Windows, Linux, Mac OS, iOS, Android | Binding |
.NET | OpenTK | Windows, Linux, Mac OS, iOS (MonoTouch) | Binding |
Ada | OpenALada | Windows | ?? |
C++ | OpenAL++ | Windows, Linux | Binding |
Ch | Ch OpenAL Package | Windows, Linux, Mac OS | ?? |
D | Derelict | Windows, Linux, Mac OS | ?? |
Object Pascal | Delphi OpenAL | Windows, Linux | ?? |
Object Pascal | openal for Free Pascal | Mac OS X, Windows, Linux | Binding |
FreeBASIC | al.bi / alut.bi | Windows, Linux | Binding |
Java | JoAL | Windows, Linux, Mac OS | ?? |
Java | LWJGL | Windows, Linux, Mac OS X | Binding |
Adobe Director | OpenAL Xtra | Windows, Mac OS | ?? |
PHP | openal | Windows, Linux, FreeBSD, Mac OS | ?? |
Python | pyopenal | Linux, FreeBSD | ?? |
Scheme (Chicken) | openal | Linux, Mac OS | Binding |
Anwendungen, die OpenAL nutzen
Spiele
Eine Reihe Spiele, sowohl kommerzielle als auch freie, wurden bereits mit Hilfe der OpenAL-Bibliothek entwickelt.
Spiel | Jahr | Entwickler | OpenAL benutzende Plattform |
---|---|---|---|
Alter Ego | 2010 | Future Games | Windows |
America’s Army | 2002 | MOVES Institute | Linux, Macintosh, Windows |
Arma: Armed Assault | 2006 | Bohemia Interactive | Windows |
A Tale in the Desert II | 2004 | eGenesis | Linux, Macintosh, Windows |
Battlefield 2 | 2005 | DICE Schweden | Windows |
Battlefield 2142 | 2006 | DICE Schweden | Windows |
BioShock | 2007 | 2K Australia | Windows |
Bridge Construction Set | 2002 | Linux, Macintosh, Windows | |
Call of Juarez | 2006 | Techland | Windows |
Colin McRae: Dirt | 2007 | Codemasters | Windows |
Colin McRae: DiRT 2 | 2009 | Codemasters | Windows |
Colin McRae: DiRT III | 2011 | Codemasters | Windows |
Der Herr der Ringe Online: Die Schatten von Angmar | 2007 | Turbine, Inc. | Windows |
Doom 3 | 2004 | Id Software | Macintosh, Windows |
Dungeons & Dragons Online | 2006 | Turbine Entertainment | Windows |
E.V.E. Paradox | 2004 | Entropic Software | Linux, Windows |
El Matador | 2006 | Plastic Reality | Windows |
Eternal Lands | 2003 | Radu Privantu | FreeBSD, Linux, Mac OS X, Windows |
Euro Truck Simulator 2 | 2012 | SCS Software | Windows |
F1 2010 | 2010 | Codemasters | Xbox 360, Playstation 3, Windows |
F1 2011 | 2011 | Codemasters | Windows |
FlightGear | FreeBSD, Linux, Macintosh, sgi, Solaris, Windows | ||
Gish | 2004 | Chronic Logic | Linux, Macintosh, Windows |
Glest | Glest Development Team | Linux | |
Heavy Metal: F.A.K.K.² | 2000 | Ritual Entertainment | Linux |
Star Wars Jedi Knight II: Jedi Outcast | 2002 | Raven Software | Macintosh, Windows |
Star Wars Jedi Knight: Jedi Academy | 2003 | Raven Software | Macintosh, Windows |
Just Cause | 2006 | Avalanche Studios | Windows |
Lineage II | 2003 | NCsoft | Windows |
Minecraft | 2009 | Mojang | Windows, Mac OS X, Linux |
Myst Online: URU Live | 2007 | Cyan Worlds | Windows |
Omerta – City of Gangsters | 2013 | Kalypso Media | Windows |
OpenArena | 2005 | OpenArena team | Linux, Mac OS X, Windows |
OpenRA[5] | 2007 | OpenRA Developers | Linux, Mac OS X, Windows |
Penumbra: Overture | 2007 | Frictional Games | Linux, Windows |
PlaneShift | 2008 | Atomic Blue | Linux, Macintosh, Windows |
Postal 2 | 2003 | Running With Scissors, Inc. | Linux, Macintosh, Windows |
Prey | 2006 | Human Head Studios | Windows |
Psychonauts | 2005 | Double Fine Productions | Windows |
Quake 4 | 2005 | Raven Software/id Software | Windows |
Regnum Online | 2007 | NGD Studios | Linux, Windows |
Rune | 2000 | Human Head Studios | Linux |
Scorched 3D | 2001 | FreeBSD, Linux, Mac OS X, Solaris, Windows | |
Soldier of Fortune | 2000 | Raven Software | Linux |
Soldier of Fortune II: Double Helix | 2002 | Raven Software | Windows |
Stalker: Shadow of Chernobyl | 2007 | GSC Game World | Windows |
Star Wars: Republic Commando | 2005 | LucasArts | Windows |
Sudden Strike 3: Arms for Victory | 2007 | Fireglow Games | Windows |
SuperTux | 2000 | SuperTux Development Team | Linux, Macintosh, Windows |
SWAT 4 | 2005 | Irrational Games | Windows |
Tom Clancy’s Ghost Recon: Advanced Warfighter | 2006 | GRIN | Windows |
TORCS | 2000 | Eric Espie und Christophe Guionneau | FreeBSD, Linux, Mac OS X, Windows |
Tremulous | 2006 | Linux, Windows | |
Tribes 2 | 2001 | Dynamix | Linux |
Unreal II: The Awakening | 2003 | Legend Entertainment | Windows |
Unreal Tournament 2003 | 2002 | Digital Extremes, Epic Games | Linux, Macintosh, Windows |
Unreal Tournament 2004 | 2004 | Digital Extremes, Epic Games | Linux, Macintosh, Windows |
Unreal Tournament 3 | 2007 | Epic Games | Windows |
Urban Terror | 1999 | Frozen Sand, LLC | Linux, Mac OS X?, Windows |
Vanguard: Saga of Heroes | 2007 | Sigil Games Online | Windows |
Vega Strike | 2008 | Das Vega Strike Team | Linux, Macintosh, Windows |
Wing Commander Saga | 2006 | Macintosh, Windows | |
World of Padman | 2007 | PadWorld Entertainment | Linux, Mac OS X, Windows |
X²: Die Bedrohung | 2004 | Egosoft | Linux |
X³: Reunion | 2005 | Egosoft | Linux, XFree86 |
X-Plane | 2009 | Austin Meyer | Linux, Macintosh, Windows |
Mass Effect | 2007 | BioWare | Windows |
Bibliotheken/Engines
OpenAL hat inzwischen den Weg in zahlreiche Bibliotheken und Engines gefunden. Eine kleine Auswahl zeigt folgende Liste:
- Lightweight Java Game Library (LWJGL)
- Unreal Engine
- Torque Game Engine
- Classical Moon Game Development Kit
Weblinks
- OpenAL im DGL-Wiki
- Dan Ricart Tutorial Programming 3D Sound With OpenAL. (englisch)
- Lee Winder: Tutorial A Guide To Starting With OpenAL. (englisch)
Einzelnachweise
- ↑ kcat.strangesoft.net
- ↑ openal.org (PDF; 450 KB)
- ↑ OpenAL Soft
- ↑ Silk.NET
- ↑ OpenRA/OpenRA. In: github.com. GitHub, abgerufen am 25. Januar 2021 (englisch).