[Openal-devel] Re: The state of OpenAL (Was: Building OpenAL on older (RH7.3) linux?)

Garin Hiebert garinh at cheesetoast.net
Wed Aug 31 08:34:00 PDT 2005


> WARNING: This is an unashamed *flame* - so put on your asbestos  
> underwear.

Check.

> 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  
> will
> 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  
broke!).

> 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.

It's apprerciated.

> IMHO, there shouldn't be separate directories for different OS's -  
> that'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  
> version
> 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- 
> block
> on fixing some of the more serious problems since we would have to  
> remain
> 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.

Garin




More information about the Openal-devel mailing list