[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
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
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
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
firstname.lastname@example.org (home) http://www.woodsoup.org/~sbaker