[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libmikmod woes..

Mark Collins wrote:

> WHy do ppl always want to create new "standards" thigns even when there
> is allready something out there that can do the job just as well, if not
> better than things allready written. Of course, I'm talking of the SDL,
> which is the only library I know of to make it into commercial Linux
> games. SO why bother re-inventing the wheel?

SDL is great for 2D games - but when you want to use hardware
3D, you need OpenGL - that brings a whole raft of other issues:

1) Since many OpenGL hardware accellerators (Voodoo's) generate their
   video feed, you cannot use X to do menu's, etc.  Hence you need a GUI
   that runs on top of OpenGL.

2) Hardware OpenGL does not work well with applications that want to
   draw pixels, it wants to deal with textured polygons. Hence you can't
   make use of regular text font rendering. Hence you need to add OpenGL
   text fonts.

3) In 3D, you need a good foundation math library for matrix math,
   etc.  This needs to be integrated into the rest of the library
   even the menial routines like the font renderer are now in 3D.

4) Loading 3D datasets from standard file formats pretty much demands
   you provide a 'scene graph' library.  That also implies decent OpenGL
   rendering interfaces, concepts like "materials".  Testing for
   and intersections in 3D is a pain - you'd like your library to handle
   that too.

5) OpenGL needs support for opening windows, etc. Whilst SDL *might* be
   to handle that for you, there is already a standard OpenGL support
   (GLUT - the GL Utility Toolkit) that does all that stuff.  OpenGL
   are generally happier to stick with GLUT. That changes some other
   for things like keyboard and mouse I/O.

6) GLUT is event-driven, so you need everything else to be suited to an
   event-driven interface.

Those were the issues I had to take on board in developing PLIB, and
I started doing that two years ago there were simply no alternatives.

Steve Baker                  http://web2.airmail.net/sjbaker1
sjbaker1@airmail.net (home)  http://www.woodsoup.org/~sbaker
sjbaker@hti.com      (work)