Table of Contents

include/AK/SpatialAudio/Common/AkSpatialAudio.h File Reference

Go to the source code of this file.


struct   AkSpatialAudioInitSettings
  Initialization settings of the spatial audio module. More...
struct   AkImageSourceSettings
struct   AkEmitterSettings
  Settings for a sound emitter. More...
struct   AkVertex
  Vertex for a spatial audio mesh. More...
struct   AkTriangle
  Triangle for a spatial audio mesh. More...
struct   AkAcousticSurface
struct   AkReflectionPathInfo
  Structure for retrieving information about the indirect paths of a sound that have been calculated via the geometric reflections API. Useful for debug draw applications. More...
struct   AkDiffractionPathInfo
struct   AkPropagationPathInfo
  Structure for retrieving information about the sound propagation paths that have been calculated via the rooms and portals API. Useful for debug draw applications. More...
struct   AkPortalParams
  Parameters passed to SetPortal. More...
struct   AkRoomParams
  Parameters passed to SetRoom. More...
struct   AkGeometryParams
  Parameters passed to SetGeometry. More...


namespace   AK

Audiokinetic namespace.

namespace   AK::SpatialAudio

Audiokinetic spatial audio namespace.


enum   AkDiffractionFlags { DiffractionFlags_UseBuiltInParam = 1 << 0, DiffractionFlags_UseObstruction = 1 << 1, DiffractionFlags_CalcEmitterVirtualPosition = 1 << 3, DefaultDiffractionFlags = DiffractionFlags_UseBuiltInParam | DiffractionFlags_UseObstruction | DiffractionFlags_CalcEmitterVirtualPosition }

AkDiffractionFlags determine if diffraction values for sound passing through portals will be calculated, and how to apply those calculations to Wwise parameters.



Basic functions.

In order to use SpatialAudio, you need to initalize it using Init, and register all emitters and listeners that you plan on using with any of the services offered by SpatialAudio, using RegisterEmitter and RegisterListener respectively, _after_ having registered their corresponding game object to the sound engine. The position of these objects and game-defined sends should be updated with SetPosition and SetEmitterAuxSendValues instead of their AK::SoundEngine counterparts. At the moment, there can be only one Spatial Audio listener registered at any given time.

AkMemPoolId __cdecl  AK::SpatialAudio::GetPoolID ()
  Access the internal pool ID passed to Init.
AKRESULT __cdecl  AK::SpatialAudio::Init (const AkSpatialAudioInitSettings &in_initSettings)
  Initialize the SpatialAudio API.
AKRESULT __cdecl  AK::SpatialAudio::RegisterEmitter (AkGameObjectID in_gameObjectID, const AkEmitterSettings &in_settings)
AKRESULT __cdecl  AK::SpatialAudio::UnregisterEmitter (AkGameObjectID in_gameObjectID)
AKRESULT __cdecl  AK::SpatialAudio::RegisterListener (AkGameObjectID in_gameObjectID)
AKRESULT __cdecl  AK::SpatialAudio::UnregisterListener (AkGameObjectID in_gameObjectID)
AKRESULT __cdecl  AK::SpatialAudio::SetPosition (AkGameObjectID in_gameObjectID, const AkTransform &in_sourcePosition)
AKRESULT __cdecl  AK::SpatialAudio::SetEmitterAuxSendValues (AkGameObjectID in_gameObjectID, AkAuxSendValue *in_pAuxSends, AkUInt32 in_uNumAux)
Helper functions for passing game data to the Wwise Reflect plug-in.

Use this API for detailed placement of reflection image sources.

Note: These functions are low-level and useful when your game engine already implements a geometrical approach to sound propagation such as an image-source or a ray tracing algorithm. Functions of Geometry are preferred and easier to use with the Wwise Reflect plug-in.
AKRESULT __cdecl  AK::SpatialAudio::SetImageSource (AkImageSourceID in_srcID, const AkImageSourceSettings &in_info, AkUniqueID in_AuxBusID, AkRoomID in_roomID, AkGameObjectID in_gameObjectID=AK_INVALID_GAME_OBJECT)
AKRESULT __cdecl  AK::SpatialAudio::RemoveImageSource (AkImageSourceID in_srcID, AkUniqueID in_AuxBusID, AkGameObjectID in_gameObjectID=AK_INVALID_GAME_OBJECT)

Geometry API for early reflection processing using Wwise Reflect.

AKRESULT __cdecl  AK::SpatialAudio::SetGeometry (AkGeometrySetID in_GeomSetID, const AkGeometryParams &in_params)
AKRESULT __cdecl  AK::SpatialAudio::RemoveGeometry (AkGeometrySetID in_SetID)
AKRESULT __cdecl  AK::SpatialAudio::QueryReflectionPaths (AkGameObjectID in_gameObjectID, AkVector &out_listenerPos, AkVector &out_emitterPos, AkReflectionPathInfo *out_aPaths, AkUInt32 &io_uArraySize)
Rooms and Portals

Sound Propagation API using rooms and portals.

AKRESULT __cdecl  AK::SpatialAudio::SetRoom (AkRoomID in_RoomID, const AkRoomParams &in_Params)
AKRESULT __cdecl  AK::SpatialAudio::RemoveRoom (AkRoomID in_RoomID)
AKRESULT __cdecl  AK::SpatialAudio::SetPortal (AkPortalID in_PortalID, const AkPortalParams &in_Params)
AKRESULT __cdecl  AK::SpatialAudio::RemovePortal (AkPortalID in_PortalID)
AKRESULT __cdecl  AK::SpatialAudio::SetGameObjectInRoom (AkGameObjectID in_gameObjectID, AkRoomID in_CurrentRoomID)
AKRESULT __cdecl  AK::SpatialAudio::SetEmitterObstructionAndOcclusion (AkGameObjectID in_gameObjectID, AkReal32 in_fObstruction, AkReal32 in_fOcclusion)
AKRESULT __cdecl  AK::SpatialAudio::SetPortalObstructionAndOcclusion (AkPortalID in_PortalID, AkReal32 in_fObstruction, AkReal32 in_fOcclusion)
AKRESULT __cdecl  AK::SpatialAudio::QuerySoundPropagationPaths (AkGameObjectID in_gameObjectID, AkVector &out_listenerPos, AkVector &out_emitterPos, AkPropagationPathInfo *out_aPaths, AkUInt32 &io_uArraySize)
AKRESULT __cdecl  AK::SpatialAudio::QueryDiffractionPaths (AkGameObjectID in_gameObjectID, AkVector &out_listenerPos, AkVector &out_emitterPos, AkDiffractionPathInfo *out_aPaths, AkUInt32 &io_uArraySize)

Detailed Description

Spatial Audio interface.

Definition in file AkSpatialAudio.h.