Re: Units for position?

[email protected] Sun, 30 Dec 2012 19:41:02 -0500
Newsgroups gmane.comp.lib.openal
Message-ID <[email protected]>
Ah-hah!

That would appear to be EXACTLY what I needed to know.

Hmm... I'll have to provide a way to set the reference distance, so that
it matches the measurement units my user will use to describe their
layout, but that shouldn't be too hard.

Thanks!!

- Mark


> On 12/29/2012 04:12 PM, [email protected] wrote:
>> Hey all!
>>
>> I hope you are in the midst of having a great holiday season!
>
> Hi! :)
>
>> I've been working on a demo, and it occurs to me that I have no idea
>> what
>> units are used in the position coordinates, nor how to set or change
>> them
>> if I need to use something different.
>
> In practical terms, unextended OpenAL uses scale-invariant units. That
> is to say, it doesn't matter whether you're using meters, feet,
> centimeters, inches, etc... as long as /all/ distance values use the
> same scale, you'll get the same output.
>
> A common pitfall, however, is to ignore or set an improper value for
> AL_REFERENCE_DISTANCE on sources. This is essentially the distance from
> the sound that the audio was originally recorded at, or more basically,
> the in-game distance where the source should not be attenuated. So for
> example, if you had this set to 1 when using a scale of 1 unit = 1
> meter, you'd want to set it to 100 if using 1 unit = 1 centimeter to
> keep the scale correct.
>
>
> When using EFX, there is a setting to specify the unit scale. This
> setting applies to certain effects, like the air absorption effect which
> defines high-frequency attenuation in meters rather than units. This
> scale can be set using the listener's AL_METERS_PER_UNIT property, and
> it defaults to 1.
>
>> So what surprised me is that these distances seem to be "too far away" -
>> the volume attenuation basically shuts the sounds off.  If I use
>> arbitrary
>> but small numbers FC=(0, 0, 1) BC=(0,0,3), LT=(-1,0,2), RT=(1,0,2) it
>> seems to work OK.
>
> Then you'll want to increase the source's AL_REFERENCE_DISTANCE until
> you get good attenuation levels. Every doubling of the distance from the
> reference distance halves the gain, so at a distance of 10 with a ref
> distance of 1, you'll basically have an attenuation of 1/10, or 0.1.
> Increase the ref distance to 5 and you'll get an attenuation of 5/10, or
> 0.5, at the same distance.
> _______________________________________________
> Openal mailing list
> [email protected]
> http://opensource.creative.com/mailman/listinfo/openal
>


_______________________________________________
Openal mailing list
[email protected]
http://opensource.creative.com/mailman/listinfo/openal