Este artigo não cita fontes confiáveis. (junho de 2011) |
| OpenAL | |
|---|---|
| Desenvolvedor | Creative Technology |
| Lançamento inicial | 1997 |
| Lançamento estável | 2.1.0.0
/ fevereiro de 2010 |
| Sistema operacional | Multiplataforma |
| Tipo | API |
| Licença | LGPL |
| Website | www.openal.org |
OpenAL (Open Audio Library) é uma API livre e multiplataforma desenvolvida para lidar com audio multicanal tridimensional. É usado normalmente com OpenGL.
OpenAL foi originalmente desenvolvido pela empresa Loki Software com o objetivo de facilitar a portagem de jogos criados em Windows para o sistema operacional Linux. Após o fim da empresa o projeto foi mantido pela comunidade de software livre, atualmente o projeto pertence à Creative Technology onde recebe grande apoio da empresa norte-americana Apple e entusiastas do software livre.
As funcionalidades da biblioteca estão baseadas em três conceitos: source objects (objetos que emitem som), audio buffers (som que será emitido por algum objeto) e um único listener (ouvinte da cena). Um source object conterá uma referência para um buffer além de também atributos como velocidade, posição, direção e intensidade. O ouvinte é determinado através dos atributos velocidade, posição e direção. A biblioteca é capaz de criar efeitos de atenuação de acordo com a distância e efeito Doppler automaticamente.
Diferente da especificação do OpenGL, a especificação do OpenAL inclui duas seções diferentes da API: o núcleo consistindo de toda a base do sistema e o ALC (Audio Library Context) que é utilizado para conectar o núcleo da biblioteca ao sistema operacional presente. Também existe uma biblioca de funcionalidades auxiliar denominada ALUT (análoga à biblioteca GLUT do OpenGL).
Com o objetivo de proporcionar novas funcionalidades no futuro, OpenAL utiliza um mecanismo para lidar com extensões. Diferentes fabricantes de hardware de som podem incluir suas próprias extensões para o OpenAL em seu equipamento.
OpenAL está disponível nas seguintes plataformas:
Diversos aplicativos bastante conhecidos utilizam OpenAL em seu desenvolvimento (principalmente jogos).