OPENAL


'OpenAL' ('Open A'udio 'L'ibrary) is a free software cross-platform audio API. It is designed for efficient rendering of multichannel three dimensional positional audio. Its API style and conventions deliberately resemble that of OpenGL.

Contents
History
API structure and functionality
Portability
Applications
See also
External links

History


OpenAL was originally developed by Loki Software in order to help them in their business of porting Windows games to Linux. After the demise of Loki, the project was maintained for a while by the free software/open source community — but it is now hosted (and largely developed) by Creative Technology with on-going support from Apple and free software/open source enthusiasts.
Whilst the OpenAL charter says that there will be an "Architecture Review Board" (ARB) modeled on the OpenGL ARB, no such organization has ever been formed and the OpenAL specification is generally handled and discussed via e-mail on its public mailing list.

API structure and functionality


The general functionality of OpenAL is encoded in ''source objects'', ''audio buffers'' and a single ''listener''. A source object contains a pointer to a buffer, the velocity, position and direction of the sound, and the intensity of the sound. The listener object contains the velocity, position and direction of the listener, and the general gain applied to all sound. Buffers contain audio data in PCM format, either 8- or 16-bit, in either monaural or stereo format. The rendering engine performs all necessary calculations as far as distance attenuation, Doppler effect, etc.
The net result of all of this for the end user is that in a properly written OpenAL application, sounds behave quite naturally as the user moves through the three-dimensional space of the virtual world. From a programmer's perspective, very little additional work is required to make this happen in an existing OpenGL-based 3D graphical application.
Unlike the OpenGL specification, the OpenAL specification includes two subsections of the API: the core consisting of the actual OpenAL function calls, and the ALC API which is used to manage rendering contexts, resource usage and locking in a cross platform manner. There is also an 'ALUT' library that provides higher level 'convenience' functions — exactly analogous to OpenGL's 'GLUT'.
In order to provide additional functionality in the future, OpenAL utilizes an extension mechanism. Individual vendors are thereby able to include their own extensions into distributions of OpenAL, commonly for the purpose of exposing additional functionality on their proprietary hardware. Extensions can be promoted to ARB (Architecture Review Board) status, indicating a standard extension which will be maintained for backwards compatibility. ARB extensions have the prospect of being added to the core API after a period of time.

Portability


The API is available on the following platforms:

Mac OS X

GNU/Linux (both OSS and ALSA backends)

BSD

Solaris

IRIX

Windows PC

Xbox

Xbox 360

MorphOS

Applications


'Games:'

★ id Software engine-based games such as ''Doom 3'', ''Jedi Knight 2'', '', ''Quake 4'' and ''Prey''.

★ Unreal Technology based games such as ''Unreal 2'', ''Unreal Tournament 2003'', ''Unreal Tournament 2004'', ''Postal²'', and ''America's Army''.

★ ''Battlefield 2'', ''Freedom Fighters'', ''Hitman'', ''Psychonauts'', and .

★ Numerous free software/open-source games also use OpenAL. Several examples include ''Warsow'' and ''Warzone 2100''.
'Other applications:'

Blender - 3D modelling and rendering tool.

Unity - 3D game engine and game creation IDE.

★ ..Basic4gl - Compiler and Programming Software.
A more exhaustive list can be found at the OpenAL website.

See also



Environmental audio extensions

OpenGL

GLUT

OpenSL ES

External links



Official Website

DevMaster.net OpenAL Tutorials

This article provided by Wikipedia. To edit the contents of this article, click here for original source.

psst.. try this: add to faves
Featured Companies
Vacation By VVacation By V