码迷,mamicode.com
首页 > 其他好文 > 详细

随手翻译: OpenAL 编程指引 (一)

时间:2018-02-16 15:34:07      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:实现   evel   效果   开发者   官方   1.0   png   方向   source   

基于OpenAL 1.0, 1.1官方文档

因为是边读边翻译. 不是正规的出版作品, 略去非编程直接相关的内容, 非技术性内容也只是点到为止, 语言方面尽可能达意, 也许以后会加以语言上的修饰, 如不辛被转载, 请注意相关的内容及原文版权

By Julian.Zhu

 

 

---------------------------------- 正文分割线 ---------------------------

关于本文档

介绍:

OpenAL是跨平台的3D音效API.

这套API使得应用程序能实现以听者为中心的3D空间音效 (包括实现 2.1/5.1等声源产生空间化的音效),

通过扩展, 创意实验室也加入EAX等加强了OpenAL的功能.

OpenAL适用于大多数使用声音的应用程序, 从设计上来讲, OpenAL特别适用于游戏音效.

 

目标受众:

本文适用于多数开发者. 学习OpenAL的概念并不一定需要C/C++的经验, 但了解C/C++有助于理解OpenAL源代码和示例程序.

与源代码一起发布的还有若干个求你程序, 建议有兴趣的开发者也能利用这些资源.

 

其它OpenAL资源:

除文档外, OpenAL两个最重要的信息源是 www.openal.org和 developer.creative.com.

OpenAL的主网站主要存放说明文档, 源码实现和示例程序.

Creative开发者网站的OpenAL SDK部分展示了如何使用OpenAL及其多种扩展.

 

 

------------ 分割线 ------------

介绍 OpenAL

使用OpenAL主要围绕着三个基本对象: 缓冲(Buffers), 声源(Sources), 听者(Listener).

缓冲可以被音效数据填充(audio data), 可以被挂载到一个声源.

声源可被定位(译注: 放置于3D空间中)和播放.

声源听起来的效果取决于声源相对听者的位置和方向 (仅有一个听者).

创建多个声源, 缓冲及一个听者, 并动态改变声源的位置, 朝向或听者的位置, 可以表现出相当真的3D音效世界.

 

对象:

下图表现了OpenAL对象和他们和设备上下文的关系 :

技术分享图片

 

当OpenAL被初始化时. 至少一个设备被打开. 对于这个(被打开的)设备, 至少创建一个上下文(Context), 而在此上下文中隐含了一个听者, 并可在此上下文中创建多个声源. 每个声源挂载多个缓冲.

缓冲并不是特定上下文的一部分, 他们被同一个设备的多个上下文所共享.

 

随手翻译: OpenAL 编程指引 (一)

标签:实现   evel   效果   开发者   官方   1.0   png   方向   source   

原文地址:https://www.cnblogs.com/imzhuli/p/8450208.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!