Priest of the Order of the Butterfly
Posts: 979 from 2003/6/28
OpenAL is a cross-platform 3D audio API appropriate for use with gaming applications and many other types of audio applications. It's supported by important companies as
Creative Labs,
NVIDIA,
Sensaura and
Apple.
OpenAL (for "Open Audio Library") is a software interface to audio hardware. The interface consists of a number of functions that allow a programmer to specify the objects and operations in producing high-quality audio output, specifically multichannel output of 3D arrangements of sound sources around a listener.
The
OpenAL API is designed to be cross-platform and easy to use. It resembles the
OpenAL API in coding style and conventions.
OpenAL uses a syntax resembling that of OpenGL where applicable.
OpenAL is foremost a means to generate audio in a simulated three-dimensional space. Consequently, legacy audio concepts such as panning and left/right channels are not directly supported.
OpenAL does include extensions compatible with the IA-SIG 3D Level 1 and Level 2 rendering guidelines to handle sound-source directivity and distance-related attenuation and Doppler effects, as well as environmental effects such as reflection, obstruction, transmission, reverberation.
Like OpenGL, the
OpenAL core API has no notion of an explicit rendering context, and operates on an implied current
OpenAL Context. Unlike the OpenGL specification the
OpenAL specification includes both the core API (the actual
OpenAL API) and the operating system bindings of the ALC API (the "Audio Library Context"). Unlike OpenGL's GLX, WGL and other OS-specific bindings, the ALC API is portable across platforms as well.
The following platforms currently have a working
OpenAL 1.0 implementation:
- Macintosh OS 8/9 ( Sound Manager )
- Macintosh OS X ( Core Audio )
- Linux ( OSS, ALSA )
- BSD ( native )
- Solaris ( native )
- IRIX ( native )
- Windows ( MMSYSTEM, DirectSound, DirectSound3D, NVIDIA nForce, Creative Audigy, Creative Audigy 2, CODA )
- Sony PlayStation 2 ( CODA )
- Microsoft Xbox ( CODA )
- Nintendo GameCube ( CODA )
Some applications which use
OpenAL:
*
AlienFlux (Windows, Linux, Macintosh)
*
America's Army: Operations (Windows, Linux, Macintosh)
*
Bridge Construction Set (Windows, Linux)
*
Escape From Monkey Island (Macintosh)
*
Harry Potter and the Chamber of Secrets (Windows, Macintosh)
*
Jedi Knight: Jedi Academy (Windows, Macintosh)
*
Jedi Knight 2 (Windows, Macintosh)
*
Marble Blast (Windows, Linux, Macintosh)
*
MegaCorps Online (Windows, Linux, Macintosh)
*
Orbz (Windows, Linux, Macintosh)
*
Postal 2 (Windows)
*
Soldier of Fortune 2 (Windows)
*
Unreal 2 (Windows)
*
Unreal Tournament 2003 (Windows, Linux, Macintosh)
*
Unreal Tournament 2004 (Windows, Linux, Macintosh)
Some engines and libraries which use
OpenAL:
*
AgentAE (Windows, Linux, Macintosh)
*
C4 Engine (Windows, Macintosh)
*
Decoy3D (Windows)
*
Lightweight Java Game Library (Windows, Linux, Macintosh)
*
Torque Engine (Windows, Linux, Macintosh)
*
Unreal Engine (Windows, Linux, Macintosh)
Developer Pages (containing
OpenAL information):
*
Apple Developer Site (Audio page)
*
Creative Developer Site (
OpenAL page)
*
NVIDIA Developer Site (Audio SDK page)
I think if MorphOS support this API (built-in on it ) will benefit to developers giving a vaule added to it because they will can use on their applications a standard API about 3D sound ( an easier use of this feature and easier ports from other platforms ), and to MorphOS users having applications using 3D sound.
OpenAL can be built-in into MorphOS' AHI, of course.
For more info consult
http://www.openal.org