[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Lutz Sammer wrote:
> Steve Baker wrote:
> > Lutz Sammer wrote:
> > >
> > > Steve Baker wrote:
> > > > [CUT]
> > > >
> > > > * To display 2D sprites in a game, you could write your own
> > > > code to talk to libsvga or Xlib - but for a beginner, you'll
> > > > want to start with a library of convenient sprite rendering
> > > > routines. Perhaps you should learn Clanlib or one of the
> > > > other packages that do these things well.
> > >
> > > A question I have to this part is: How to use a 3D engine todo
> > > the 2D stuff. Scaling, rotating and transparent effects shouldn't
> > > be a problem for a 3D engine.
> > OH! I see!
> > Easy - stuff the sprite into a texture map - and draw a textured
> > quadrilateral to draw the sprite.
> > Rotating, translating, scaling the polygon (which is EASY) causes
> > the sprite to do the same thing.
> > Alpha-blended textures deal with the transparency.
> > To *animate* a sprite is a little harder. You can either define
> > one texture for each step of the animation and switch textures
> > >from frame to frame - or you can pack all of the animation steps
> > up into one big texture map and change the texture coordinates
> > on the polygon to select which sub-image you need.
> > Assuming you have hardware 3D accelleration, an OpenGL (Mesa)
> > 'sprite' engine can be spectacularly fast with arbitary angle
> > rotation effects and scaling costing *nothing*.
> > You should also be able to have larger sprites than with
> > a software-only sprite engine because the 3D hardware can
> > push polygons MUCH faster than the main CPU - even with
> > translucent blending and such like.
> That is exactly what I want to hear. But are there any small
> tutorials? It is easier to use and modify a running program
> than writing it all new.
Well, I don't know of a specific demo for 2D sprites - but
it shouldn't be too hard to start from something like the
Mesa demo 'samples/texture.c'.
Steve Baker (817)619-2657 (Vox/Vox-Mail)
Raytheon Systems Inc. (817)619-2466 (Fax)
Work: email@example.com http://www.hti.com
Home: firstname.lastname@example.org http://web2.airmail.net/sjbaker1