OpenAL

Software OpenAL
GéneroInterfaz de programación de aplicaciones  (no  listada )
DesarrolladorTecnología creativa
Fecha de la primera versiónjunio de 2000
Ultima versión1.1 (junio de 2005 )
Sistema operativoMultiplataforma
IdiomaC.
LicenciaLGPL
( licencia libre )
Sitio webwww.openal.org/

OpenAL ( Open A udio L ibrary ) es un software gratuito que proporciona API de audio multiplataforma . Está diseñado para una representación eficiente de audio posicional tridimensional. Su estilo de API y sus convenciones imitan deliberadamente las de OpenGL .

Historia

OpenAL fue desarrollado originalmente por Loki Software para ayudarlos en su negocio de traer juegos de Windows a Linux . Después de la desaparición de Loki, el proyecto fue mantenido durante un tiempo por la comunidad de software libre, pero ahora es mantenido (y ampliamente respaldado) por Creative Technology con soporte continuo para Apple y los entusiastas del software libre/ código abierto .

Si bien el jefe de OpenAL dice que habrá una "Junta de revisión de arquitectura" (ARB) basada en los ARB de OpenGL, nunca se ha formado ninguna organización y las especificaciones de OpenAL generalmente se administran y discuten por correo electrónico en la lista de correo pública.

Estructura y funcionalidad de la API

La funcionalidad general de OpenAL está codificada en objetos fuente , búferes de audio y oyentes individuales . Un objeto de origen contiene un puntero a un búfer, la velocidad, la posición, la dirección de un sonido y su intensidad. El objeto oyente contiene la velocidad, la posición, la dirección del oyente y la ganancia general aplicada a todos los sonidos. Los búferes contienen los datos de audio en formato PCM , tanto de 8 como de 16 bits, tanto en formato mono como estéreo. El motor de renderizado realiza todos los cálculos necesarios así como la atenuación por distancias, efecto Doppler , etc...

El resultado final de todo esto para el usuario final es que, para las aplicaciones escritas para usar OpenAL, el sonido se comporta de forma bastante natural a medida que el usuario se mueve por el espacio tridimensional del mundo virtual.

A diferencia de la especificación de OpenGL, la especificación de OpenAL incluye dos subconjuntos de la API : el núcleo, que consta de llamadas de funciones reales de OpenAL, y las API de ALC que se utilizan para administrar la representación de contexto, la utilización de recursos y el bloqueo en aplicaciones multiplataforma. También hay una biblioteca 'ALUT' que proporciona funciones de nivel superior; el análogo exacto de las bibliotecas GLUT en relación con OpenGL .

Para proporcionar funciones adicionales en el futuro, OpenAL utiliza un mecanismo de extensión. Los proveedores individuales también han logrado incluir sus propias extensiones en las distribuciones de OpenAL, generalmente con el fin de mostrar una funcionalidad adicional en su hardware patentado. Las extensiones se pueden promover al estado (Junta de revisión de arquitectura), lo que indica una extensión estándar para la compatibilidad con versiones anteriores. Las extensiones ARB tienen la posibilidad de agregarse a las API principales después de un cierto período de tiempo.

Portabilidad

La API está disponible para las siguientes plataformas :

Aplicaciones

Juegos:

Otras aplicaciones:

Puede encontrar una lista más exhaustiva en el sitio web de OpenAL.

Artículos relacionados

Enlaces externos