[SDL] When will there be blitting support when using OpenGL

vining at pacificcoast.net vining at pacificcoast.net
Wed Apr 5 12:03:54 PDT 2000


>Hi!
>
>On 5 Apr 2000 vining at pacificcoast.net wrote:
>> REPEAT AFTER ME: OPENGL IS A 3D API.
>
>According to www.opengl.org, OpenGL is "a highly versatile 2D and 3D
>graphics API". It's designed for 2D graphics as well.

Designed, yes, but it doesn't work that way on all platforms that are "relevant" to us as game developers.

1) Transferring large quantities of raw data over the bus == slow, painful.
2) Pulling data from GL's internal frame buffer == bad thing too, since it disturbs the FIFO queue.
3) You will always hit unoptimized paths if you try to use the 2D API functions (especially glDrawPixels, although this is more of a 
hardware limitation... bleccht!)

Predominantly, my worry is that people will treat it as an "ideal blitting API". Which it's not. If we built code into SDL to support blits 
(this was something that Kenton and I came across while we were looking at doing the GL work ourselves (i.e. before the Loki people got 
fed up with our wierd GPFing and did it themselves... ;-)) was that building OpenGL blitting into that API would only end up removing the 
really cool bits of building a 3D application with OpenGL that actually make it feasible. (Free alpha blitting, etc.) Plus, you 'd always be 
working in immediate mode, which really isn't a good way to work.  (Ooh, just thought that one up)

There are situations where it is feasible to create a 3D game using OpenGL that looks like a 2D one, but as a 2D API it's a fiasco. Don't go 
there.

Sorry about inciting mass flaming here, but this is and has always been one of my pet peeves. :-)

>Christian

Nicho



More information about the SDL mailing list