alDopplerFactor(1.0);
alDopplerVelocity(340.3); // speed of sound in meters per second.
- if ( alIsExtensionPresent((const ALchar*)"EXT_exponent_distance") ) {
- alDistanceModel(AL_EXPONENT_DISTANCE);
- } else {
- alDistanceModel(AL_INVERSE_DISTANCE);
- }
+ // gain = AL_REFERENCE_DISTANCE / (AL_REFERENCE_DISTANCE +
+ // AL_ROLLOFF_FACTOR * (distance - AL_REFERENCE_DISTANCE));
+ alDistanceModel(AL_INVERSE_DISTANCE_CLAMPED);
testForALError("listener initialization");
if (isNaN(toVec3f(_absolute_pos).data())) printf("NaN in listener position\n");
if (isNaN(_velocity.data())) printf("NaN in listener velocity\n");
#endif
- update_pos_and_orientation();
alListenerf( AL_GAIN, _volume );
alListenerfv( AL_ORIENTATION, _at_up_vec );
// alListenerfv( AL_POSITION, toVec3f(_absolute_pos).data() );
// sample group was not found.
if (create) {
SGSampleGroup* sgrp = new SGSampleGroup(this, refname);
+ add( sgrp, refname );
return sgrp;
}
else