Class EXTBFormat

java.lang.Object
org.lwjgl.openal.EXTBFormat

public final class EXTBFormat extends Object
Native bindings to the AL_EXT_BFORMAT extension.

This extension indicates support for the FORMAT_BFORMAT2D_8, FORMAT_BFORMAT2D_16, FORMAT_BFORMAT2D_FLOAT32, FORMAT_BFORMAT3D_8, FORMAT_BFORMAT3D_16 and FORMAT_BFORMAT3D_FLOAT32 buffer 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 Sourcefv using the ORIENTATION tag, which takes the same parameters as alListenerfv(AL_ORIENTATION,...). Such sources DO support SOURCE_RELATIVE and 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.

  • Field Details

    • AL_FORMAT_BFORMAT2D_16

      public static final int AL_FORMAT_BFORMAT2D_16
      Ambisonic formats.
      See Also:
    • AL_FORMAT_BFORMAT2D_8

      public static final int AL_FORMAT_BFORMAT2D_8
      Ambisonic formats.
      See Also:
    • AL_FORMAT_BFORMAT2D_FLOAT32

      public static final int AL_FORMAT_BFORMAT2D_FLOAT32
      Ambisonic formats.
      See Also:
    • AL_FORMAT_BFORMAT3D_16

      public static final int AL_FORMAT_BFORMAT3D_16
      Ambisonic formats.
      See Also:
    • AL_FORMAT_BFORMAT3D_8

      public static final int AL_FORMAT_BFORMAT3D_8
      Ambisonic formats.
      See Also:
    • AL_FORMAT_BFORMAT3D_FLOAT32

      public static final int AL_FORMAT_BFORMAT3D_FLOAT32
      Ambisonic formats.
      See Also: