[SDL] SDL 1.3 and rendering API state management

David Olofson david at olofson.net
Sun Sep 3 09:36:29 PDT 2006


On Sunday 03 September 2006 15:57, Antonio SJ Musumeci wrote:
> I'm in favor of 1.

Yeah, I'm leaning towards that one too.

Doesn't feel quite right to bypass everything, including display 
setup, but then again, if the renderer "plugin" API is made public, 
you can basically just rip that code from SDL. Not exactly megabytes 
of code anyway! :-)

The advantages seem to be major ones, though - and it solves the SDL 
2D vs external renderer "extension" conflicts in a clean and 
potentially very efficient way. (No extra cost for mixing SDL 2D and 
"extended" calls, as both are wired to the same renderer.)


[...]
> Let the drivers/renderers add to some database that they exist and
> capabilities so users can easily query for the information.

Interfaces for that are already in place and nice looking, AFAICT - 
it's just that the renderer side of it is private.


> I know we argued about a query system before... but I think in the 
> least... everything which is easily known at compile time
> (platform,any base drivers) and at runtime (arch,SIMD,supported
> audio/image formats).

Yeah, that might be handy. (Not directly related to renderers, 
though.)


> So if SDL_Image doesn't support format X... I can create my own X
> plugin and provide it with my app without needing to provide all of
> SDL_Image.

Yeah... Rename SDL_LoadBMP() as SDL_LoadSurface() (or something), and 
convert SDL_image into a plugin that adds support for more file 
formats?


> Then you can keep core SDL as just a flexible plugin interface for 
> video/audio/input/etc.

Yeah, I like the idea. Makes it a lot easier to make various add-on 
libs work together without actually modifying them to do so. Most of 
the interfaces are more or less polymorphic anyway, so why not make 
full use of it?


//David Olofson - Programmer, Composer, Open Source Advocate

.-------  http://olofson.net - Games, SDL examples  -------.
|        http://zeespace.net - 2.5D rendering engine       |
|       http://audiality.org - Music/audio engine          |
|     http://eel.olofson.net - Real time scripting         |
'--  http://www.reologica.se - Rheology instrumentation  --'




More information about the SDL mailing list