diff options
author | Chris Robinson <[email protected]> | 2014-10-31 22:43:13 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2014-10-31 22:43:13 -0700 |
commit | 3d2853274dbf81723b907677446bd09f94f35022 (patch) | |
tree | 6f6001476326386c838a61da0fb9775a6705d390 /OpenAL32/Include | |
parent | 336aba6f1f9bc21d900435a264c048a36bca0fc8 (diff) |
Support B-Format source rotation with AL_ORIENTATION
Diffstat (limited to 'OpenAL32/Include')
-rw-r--r-- | OpenAL32/Include/alSource.h | 1 | ||||
-rw-r--r-- | OpenAL32/Include/alu.h | 7 |
2 files changed, 5 insertions, 3 deletions
diff --git a/OpenAL32/Include/alSource.h b/OpenAL32/Include/alSource.h index 34d01e19..96216b87 100644 --- a/OpenAL32/Include/alSource.h +++ b/OpenAL32/Include/alSource.h @@ -60,6 +60,7 @@ typedef struct ALsource { volatile ALfloat Position[3]; volatile ALfloat Velocity[3]; volatile ALfloat Direction[3]; + volatile ALfloat Orientation[2][3]; volatile ALboolean HeadRelative; volatile ALboolean Looping; volatile enum DistanceModel DistanceModel; diff --git a/OpenAL32/Include/alu.h b/OpenAL32/Include/alu.h index 0bf252f5..6ebafe86 100644 --- a/OpenAL32/Include/alu.h +++ b/OpenAL32/Include/alu.h @@ -220,10 +220,11 @@ void ComputeAngleGains(const ALCdevice *device, ALfloat angle, ALfloat elevation /** * ComputeBFormatGains * - * Sets channel gains for a given (first-order) B-Format channel. The channel - * number must not be greater than 4, and the resulting gains may be negative. + * Sets channel gains for a given (first-order) B-Format channel. The matrix is + * a 1x4 'slice' of the rotation matrix for a given channel used to orient the + * coefficients. */ -void ComputeBFormatGains(const ALCdevice *device, ALuint channum, ALfloat ingain, ALfloat gains[MaxChannels]); +void ComputeBFormatGains(const ALCdevice *device, const ALfloat mtx[4], ALfloat ingain, ALfloat gains[MaxChannels]); /** * SetGains |