[SDL] Accelerated 2D APIs [was: Re: hw filled polygons & hw l ines]

David Olofson david.olofson at reologica.se
Mon Dec 4 09:24:14 PST 2000


Mon, 04 Dec 2000 Dominique Biesmans wrote:
> [inline]
> 
> > -----Original Message-----
> > From: David Olofson [mailto:david.olofson at reologica.se]
> > [snip>
> 
> > 3D is where serious work is spent on APIs and fast drivers - 
> > the rest is "just
> > for buttons and text", and no one seems to care enough to 
> > even make sure that
> > there is a real API for 2D acceleration. Many cards have *great* 2D
> > acceleration, but I have yet to see a single API/driver combo 
> > that takes
> > advantage of more than a fraction of it.
> > 
> 
> True. API/driver combo is the key issue here. Many cards support 2D accel.
> in hardware, but we depend on what actually gets implemented into the
> driver, and that's where the problem is. DirectX e.g. has mainly
> concentrated on 3D features so you can have all that potential raw Geforce
> power in your machine, but the only 2D stuff you can do in DirectX is
> straight or colorkeyed blitting .....

Yes... However, when speaking about 2D acceleration and games, isn't 3D
acceleration actually more suitable, even for 2D games? (Perhaps not on lower
end machines, lacking usable 3D acceleration, but that would be really low
end by now...)

I mean, if you can't control the refresh rate, but still want game console class
animation, there's only one realistic way to go: sub pixel accurate rendering.

That's what you get with 3D acceleration, but AFAIK not with 2D acceleration.
You also get sub pixel accurate rendering of sprite edges, plus antialiazing and
translucency, if you're using the alpha channel for sprite transparency. Then
you get rotation and transformation and a bunch of other cool stuff as an extra
bonus, at least on the more powerful 3D cards.

Sure, most 2D games could be implemented nicely with software rendering, and
thus run on lower end machines as well, at least with very low resolutions.
(Although graphics accelerators usually deliver better price/performance than
CPUs.) But my point is that if we're going for h/w acceleration anyway (because
we need the power to do what 2D graphics should be in 2000+ - why else?), is
there really much point in messing with the driver layer to create a new 2D API
standard on that level...?


//David

..- M A I A -------------------------------------------------.
|      Multimedia Application Integration Architecture      |
| A Free/Open Source Plugin API for Professional Multimedia |
`----------------------> http://www.linuxaudiodev.com/maia -'
..- David Olofson -------------------------------------------.
| Audio Hacker - Open Source Advocate - Singer - Songwriter |
`--------------------------------------> david at linuxdj.com -'



More information about the SDL mailing list