[Openal-devel] Re: The state of OpenAL (Was: Building OpenAL on older (RH7.3) linux?)
garinh at cheesetoast.net
Wed Aug 31 08:34:00 PDT 2005
> WARNING: This is an unashamed *flame* - so put on your asbestos
> OpenAL is a *mess*.
It's all relative. We have SDKs and documentation available which
have been good enough for a lot of people to use OpenAL in a large
variety of projects. But I agree that there's still lots of work to
be done, and calling it a "mess" is fair enough...
> So let's not be telling everyone that this is a rosy situation...it
> be rosy in a few months - but right now, ALUT is only just barely
> usable -
> and then only by Linux users in all likelyhood.
That should be addressed to some degree by the end of the day today
-- I've got ALUT compiling and linking under Windows right now, and
will start checking things in soon. I'll take a look at MacOS X
after that (and then go back around to all the OSes to fix anything I
> In a normal situation, you'd be justified in saying "Well, if it's so
> terrible - then why aren't you fixing it?"...well...guess what I've
> been doing for the last couple of weeks.
> IMHO, there shouldn't be separate directories for different OS's -
> just inviting problems that only show up in some versions
Your analysis is true, but this is _deliberate_ to a degree. You
need to understand the _motivation_ for Creative to have become
involved in this project, and the history. Creative wants to sell
sound cards. We are not in the business of making everyone else's
sound cards sound as good as ours, so that people don't have to buy
our products. So, we wanted an API which we could accelerate, and
which we could extend with EAX. This drove a lot of the "bad"
decisions -- adding things to the API which can't be done at the
driver level is always bad from our (admittedly selfish) perspective.
So, why didn't we have one coordinated cross-platform codebase for at
least the base implementation? Performance, and project
organization. On the machines of 2000, doing _only_ a pure software
version of AL on Windows wouldn't have been compelling enough to get
game developers (our target market then and now -- from Creative's
perspective) to move to OpenAL. We had to have a DS3D backend
available, which would be largely un-portable. Project organization
enters in here as well in that Loki had Linux games to ship in the
meantime -- hence their need to have an active, separate, codebase.
> OpenGL has something called 'the reference implementation'. It's a
> that does pretty much everything in software.
This probably should be done at this point, but where the resources
would come from is a mystery to me. I don't think any current
participant in the OpenAL community can or will do this.
> It's bad enough that a 1.0 is 'out there' - because it puts a road-
> on fixing some of the more serious problems since we would have to
> at least basically reverse-compatible with it.
I've got to disagree with you on this point. It isn't bad that 1.0
is out there -- if it weren't, then you'd be on some other mailing
list, saying similar things, but nobody would have ever done _squat_
with OpenAL without an immediate need in front of them. The general
concept of OpenAL had been talked about for a very long time -- it
took two companies (Loki and Creative) who had an immediate _need_ to
get it done to make things happen, for better or for worse.
More information about the Openal-devel