[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
accellerated
3D, you need OpenGL - that brings a whole raft of other issues:
1) Since many OpenGL hardware accellerators (Voodoo's) generate their
own
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,
quaternions,
etc. This needs to be integrated into the rest of the library
because
even the menial routines like the font renderer are now in 3D.
4) Loading 3D datasets from standard file formats pretty much demands
that
you provide a 'scene graph' library. That also implies decent OpenGL
rendering interfaces, concepts like "materials". Testing for
collisions
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
able
to handle that for you, there is already a standard OpenGL support
library
(GLUT - the GL Utility Toolkit) that does all that stuff. OpenGL
programmers
are generally happier to stick with GLUT. That changes some other
choices
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
when
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)