public final class EXTBFormat extends java.lang.ObjectNative bindings to the
This extension indicates support for the
FORMAT_BFORMAT3D_FLOAT32buffer formats. These provide 2D (WXY) and 3D (WXYZ) 8bit int, 16bit int and ALfloat support for Ambisonic three- or four-channel B-Format (using W X Y Z channel ordering, encoded as the first three or four channels of Furse-Malham higher order Ambisonics). Use of these formats indicate that sources are Ambisonic sources. Such sources can be oriented via
ORIENTATIONtag, which takes the same parameters as
alListenerfv(AL_ORIENTATION,...). Such sources DO support
SOURCE_RELATIVEand the soundfield will rotate to reflect the listener's orientation if this is off (the default). Other behaviour is as for stereo or multichannel assets.
Note that Ambisonics orients X, Y and Z axes in a different way to OpenAL. For clarity, we ignore the Ambisonic coordinate system in the API and stick to the OpenAL one, making sure that the Front of the Ambisonic soundfield (actually Ambisonic +X) matches the Front of the OpenAL coordinate system (-Z by default) etc. For instance, if the orientation of the source is set so that the "at" vector is to the left, then the front of the B-Format soundfield will be presented to the left.