[openal] EAX not detected on Asus STX
Chris Robinson
chris.kcat at gmail.com
Sun Jan 24 10:53:01 EST 2016
On 01/24/2016 06:28 AM, Heinz Kropuschinski wrote:
> That makes sense, but let me ask a dummy question here: What happens to the EAX
> calls? Do they get translated to an equivalent EFX call directly or are they
> emulated?
Generic Hardware uses DirectSound3D under the hood. Back in the day this
allowed certain hardware devices, that didn't specifically have an
OpenAL driver, to still be accelerated with OpenAL (although Windows
Vista killed off accelerated DirectSound, so now it's all being done in
software anyway). With Generic Hardware, the EAX calls are likely just
being passed through to DirectSound more or less directly, while the EFX
calls get translated to the EAX equivalents (or at least the subset that
works).
For Generic Software, I'd imagine it implements EFX natively, and EAX
calls are translated to EFX. Although that's just a guess, since there's
no real information about how Creative implemented it (and ultimately,
from a programmer's POV it doesn't really matter which way it was done
since it more or less all works as expected).
> If so: does OALSoft use a generic room layout as specified in
> openal.ini or does it make some sort of educated guess?
OpenAL Soft (EFX, but also EAX too) doesn't really geometrically model a
room's layout. It takes parameters like the overall density, diffusion,
etc, of the environment's reverberation, as specified by the app, and
produces a result that fits those parameters. It doesn't trace
individual wall reflections.
For sounds being occluded/obstructed (e.g. a sound from behind a wall or
around a corner), the app needs to track that using whatever it has for
the room geometry, and continually updates EFX or EAX with how much
occlusion/obstruction to apply to a given sound at a given point in time.
> The reason for EAX reverb support in "Generic Hardware" is that it uses
> Creative's OpenAL solution which comes with newdark and that newdark probably
> defaults to EAX first if possible.
Yeah, I imagine that's the case. But my question is, since newdark
supports EFX for OpenAL, why does it also support (and prefer) EAX for
OpenAL? What's different about its "EAX reverb support" compared to "EFX
reverb support"? Do you actually hear much of a difference in quality
between EFX and EAX?
More information about the openal
mailing list