OpenAL 1.1 距離モデル

ちょっとやってみたいことを思いついたんで、必要そうなことをいきなり調べていっています。
頭から調べるのは、途中でダレたりするので苦手です。


OpenAL 1.1 の仕様より、3.4 距離による減衰。
距離による減衰のモデルを適用するには、alDistanceModel( ALenum modelName ) をコールする。
modelName は以下。

  • AL_NONE - 減衰の計算を行わない。つまり減衰しない。
  • AL_INVERSE_DISTANCE - AL_REFERENCE_DISTANCE でクランプしないことを除いて IASIG I3DL2 モデルと等価。
  • AL_INVERSE_DISTANCE_CLAMPED - IASIG I3DL2 モデル。AL_INVERSE_DISTANCE に加えて、AL_REFERENCE_DISTANCE 以下の距離になったらゲインがクランプされる。
  • AL_LINEAR_DISTANCE - 距離に比例して減衰する。
  • AL_LINEAR_DISTANCE_CLAMPED - AL_LINEAR_DISTANCE に加えて、AL_REFERENCE_DISTANCE 以下の距離になったらゲインがクランプされる。
  • AL_EXPONENT_DISTANCE - 距離と指数関数的に減衰する。
  • AL_EXPONENT_DISTANCE_CLAMPED - AL_EXPONENT_DISTANCE に加えて、AL_REFERENCE_DISTANCE 以下の距離になったらゲインがクランプされる。


次は具体的な計算式を調べます。