[Openal] about cone
Chris Robinson
chris.kcat at gmail.com
Wed Sep 29 16:14:08 PDT 2010
On Wednesday, September 29, 2010 2:47:30 pm uray meiviar wrote:
> Hi, I have questions regarding openAL source cone properties:
>
> 1. what's the difference between inner cone and outer cone?
Hi.
The inner cone angle is where the listener hears no extra attenuation (ie, you
hear the regular distance-based attenuation), while the outer cone is where
the AL_CONE_OUTER_GAIN fully applied (ie, you hear the distance-based
attenuation as well as AL_CONE_OUTER_GAIN both applied).
> 2. if outer cone angle is 360 deg, and inner cone angle is less than that,
> can the source still be heard from listener at angle > inner angle
Yes, with varying degrees of attenuation (the closer to the outer cone angle
you are, the more AL_CONE_OUTER_GAIN is applied).
> 3. does it still valid if outer cone angle is larger than inner cone angle ?
Yes. In fact, if the outer cone angle is smaller than the inner cone angle,
then the cone attenuation won't work properly.
> 4. how does the outer cone gain (angle-dependent attenuation) will be
> applied to source gain (in equation) ?
When the listener is at (or beyond) the outer cone angle, the source gain and
outer cone gain are multiplied together. When the listener is at (or within)
the inner cone angle, the outer cone gain isn't applied at all.
If the listener is between the inner cone angle and outer cone angle, then
OpenAL will only partially apply the outer cone gain. The exact method is
implementation dependent, but it is a smooth curve from no extra attenuation
to full attenuation (a linear slope is not uncommon, but it can be something
else).
> 5. what's the default value for inner, outer cone angle, and outer cone
> gain ?
The inner cone angle and outer cone angle default to 360 degrees. The outer
cone gain defaults to 1.0.
Note that the angle between the source and listener only gets up to 180
degrees (when the listener is directly behind the source), so the actual total
area covered by the cones is double the value you specify.. eg, an inner angle
of 90 with the listener directly to the left or right of the source will not
be attenuated by the cones; 180 degree coverage.
Hope that helps. :)
More information about the Openal
mailing list