BASS_Set3DAlgorithm
requires DirectX 7.0 or above

Sets the 3D algorithm for software mixed 3D channels.

void WINAPI BASS_Set3DAlgorithm(
    DWORD algo
);

Parameters
algoOne of these algorithms.
BASS_3DALG_DEFAULTThe default algorithm... currently translates to BASS_3DALG_OFF.
BASS_3DALG_OFFUses normal left and right panning. The vertical axis is ignored except for scaling of volume due to distance. Doppler shift and volume scaling are still applied, but the 3D filtering is not performed. This is the most CPU efficient algorithm, but provides no virtual 3D audio effect. Head Related Transfer Function processing will not be done. Since only normal stereo panning is used, a channel using this algorithm may be accelerated by a 2D hardware voice if no free 3D hardware voices are available.
BASS_3DALG_FULLThis algorithm gives the highest quality 3D audio effect, but uses more CPU. This algorithm requires Windows 98 2nd Edition or Windows 2000 and WDM drivers, if it's not available then BASS_3DALG_OFF will automatically be used instead.
BASS_3DALG_LIGHTThis algorithm gives a good 3D audio effect, and uses less CPU than the FULL algorithm. This algorithm also requires Windows 98 2nd Edition or Windows 2000 and WDM drivers, if it's not available then BASS_3DALG_OFF will automatically be used instead.

Remarks
These algorithms only affect 3D channels that are being mixed in software. You can test for the BASS_SAMPLE_SOFTWARE flag with BASS_ChannelGetFlags to check if a channel is being software mixed.

This function allows you to use higher quality 3D processing on more powerful CPUs, and more efficient 3D processing on less powerful CPUs. Changing the algorithm only affects subsequently created or loaded samples, musics or streams, it does not affect those that already exist.

See also
BASS_ChannelGetFlags, BASS_SampleCreate, BASS_SampleLoad