|
|
| Sound News | Press
Releases | Archives | Week In
Review | Editorials
| Articles | |
|
![]() |
|
||||
|
|||||
Gamer's Guide to 3D sound and reverb APIsMikael Hagén and Mark Muschett - Last updated January 8, 2002
A3D 1.0 A very
popular 3D sound API before Aureals demise. Its very similar to DS3D up to and
including DirectX7. DS3D as part of DirectX8 offers more features, most importantly I3DL2
(similar to EAX 2.0). Its worth noting that several game developers may only list
A3D 1.0 support even though they also support DS3D. That means some of the games where we
have only listed A3D 1.0 support may also support DS3D. With the
exception of the cards that use Aureals A3D engine (Diamonds MonsterSound
cards, all Vortex 1, 2 and Advantage based cards) most soundcards support this API by
simply translating the A3D 1.0 API calls to DS3D. Cards that support A3D 1.0 using this
translation includes the Creative Labs SoundBlaster Live and Audigy cards, Creative
Labs PCI cards that are based on the ES137x chips and all cards using the Sensaura
or QSound 3D sound engine with the noteable exception of nVidias nForce. Having said
that its worth noting that the Windows 2000/XP drivers for several of these cards
currently lacks A3D 1.0 support. The only ones we know for sure where it works are
VideoLogics SonicFury and Turtle Beachs Santa Cruz. The
translation of A3D 1.0 to DS3D works with most but not all A3D 1.0 titles. As far as we
know the few titles where it doesnt work also support DS3D so it shouldnt be
an issue. When this translation works the sound will be just as well positioned and as CPU
efficient as if the title supported DS3D directly. For more about A3D 1.0 and how it
compares to DS3D check out our A Gamer's Guide to Direct Sound 3D and
A3D 1.x
A3D 2.0 The
major improvements in A3D 2.0 compared to A3D 1.0 are via what Aureal called wavetracing.
Wavetracing is based on room geometry and Aureal A3D 2.0 wavetracing engine will in real
time render the reflections of each sound source depending on how close to a wall or
object the listener is and the sound sources are. The materials making up the room and
shape of the room where the listener and sound sources are will also affect the sound. For example a gun shot in a "bright"
room like a tiled bathroom bounces off the tiles, around the corner, into the
"soft" wood and carpeted room that the listener is in, rendering correct
reflections, acoustic materials and occlusion on the fly as appropriate. Not only does it
render each source (and all the geometry and materials that come between it and the
listener) it will also take into account dynamic objects like opening doors, elevators,
moving geometry (i.e. a listener or sound source inside a car), etc. If you
install the latest A3D 3.0 files for the Vortex2 card you will in addition to the first
order reflections also get a reverb effect in games using wavetracing. I will cover this
in more detail in the A3D 3.0 section below. I just brought it up here since this feature
doesnt require games to be rewritten. That is it was enough for Aureal to upgrade
the drivers to enable it for all A3D 2.0 games which use wavetracing. While games
dont need to be rewritten to take advantage of this feature its worth noting
that the A3D engine have less info about the room geometry in A3D 2.0 games compared to
A3D 3.0 games. This can result in the wrong
reverb effect, the wrong amount of very (at least to my ears) or both being applied., This
is probably why Aureal allows you to disable this feature from the Vortex Control Panel. Most
games using A3D 2.0 only use the 3D positional aspect of the API, that is they dont
use wavetracing. The only cards that offer full support A3D 2.0 are the Vortex2 based
cards. Other cards using the A3D engine (The older MonsterSound cards, Vortex 1 and Vortex
Advantage cards) only support the 3D positional aspects of the API and the occlusion but
not the reflections. No other soundcard supports A3D 2.0 directly but the Aureal had
designed their A3D 2.0 engine to pass on the 3D positional calls to DS3D which means it
should then work as any other DS3D game. For cards that dont even support DS3D the
A3D 2.0 engine can provide A3D lite, which should offer some 3D positional effects on all
cards. The feature to support DS3D card and A3D lite are both optional and not all A3D 2.0
games will support DS3D, especially the early (released late 1998 and early 1999) A3D 2.0
games. When we know that the A3D 2.0 support out of the box support DS3D cards we list the
game as supporting both A3D 2.0 and DS3D. An A3D 2.0
game that support DS3D out of the box does so by including a file called A3DAPI.dll in its
game folder. Some of the other games that support A3D 2.0 (e.g. Quake 3 Arena before id
Software removed it in later patches) dont support DS3D cards out of the box but you
can get this support by installing the A3DAPI.dll. This is done by downloading the A2D
files package (available from our soundcard
utilities page) which will install the A3DAPI.dll in your Windows\System directory. If
you do this you should rename it when you play other A3D 2.0 games that support DS3D
and/or EAX directly since they may otherwise default to A3D 2.0 which in most cases is
considerable slower. In case of Quake3 the result of using the A2D files is quite mixed
which may be due to bugs in Quake3s A3D code or bugs in the A2D files.
If you
installed the most recent A2D files that offer support for A3D 3.0 games you will in
addition to the DS3D support also get EAX 1.0 support if the game uses wavetracing. This
is done by using the automatic room calculation mentioned above. Just like its not
working that well many times with Vortex2 cards its also not working very well with
EAX 1.0 cards. Fortunately several of the EAX 1.0 cards including the Live and Audigy
offers you to option of disabling EAX 1.0 without disabling 3D sound.
Creative Labs is now the owner of the A3D technology and it is highly unlikely that Creative Labs will try to get games developer to support this API, which means its unlikely any new game engine will support A3D 2.0. However the new EAX Advanced HD includes some of the features previously unique to A3D 2.0 and 3.0. From a developer/sound designer perspective its accessed quite differently though. Its possible, but unlikely, that Creative Labs will include full A3D 2.0 support in future drivers for the Live and/or Audigy soundcards. I say unlikely since they publicly stated they have no plans to do so.
A3D 3.0
As with A3D
2.0 only the Vortex2 based cards offer full support for A3D 3.0, while the Vortex1, Vortex
Advantage based cards and the older MonsterSound cards will only support the 3D positional
and occlusion aspects of the API. Just like A3D 2.0 the 3D positional calls can be passed
on to any DS3D supporting card. Whats new is that if the game uses wavetracing the
new reverb feature will work on any EAX 1.0 supporting card. As with the Vortex2 cards we
havent found the automatic selection of reverb to work well on EAX 1.0 cards.
Its worth noting we base this entirely on testing with Quake3 so possible it works
better with the few games that support A3D 3.0 (e.g. Star Trek Voyager). |
Articles A Gamer's Guide to Sensaura 3D Audio A Gamer's Guide to 3D Sound and Reverb APIs A Gamer's Guide to 3D Sound and Reverb Engines A Gamer's Guide to DS3D and A3D 1.x Virtual Surround Sound Technologies The Advantages of the Center and LFE channels Stereo to 4 or 5.1 Expansion Technologies |
|