[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