Some functionality I'd like to see in SDL 1.3

I mentioned this first one on the mailing list, but i’ll mention it again here: rotozoom.
I can see where many multimedia applications may want to resize, zoom in on, or rotate a texture. For example, a media player could create some decent looking effects by rotating and recoloring the same image several times, and it becomes inefficient to create a new texture for each case. An image editor would also need some functions to rotate, resize, or zoom an image or selected area. 2D games might want to resize sprites to better fit the user’s monitor, etc.
There’s already a library that implements this, SDL_gfx, but I know that OpenGL has easy ways to do this implemented in its API (and most likely DirectDraw does as well, though I’ve never actually touched it), so in the case of SDL 1.3 it would probably be better to add it as a part of the main library rather than relying on a third-party library to provide this support.

The second one has been mentioned in another thread, and in fact that topic reminded me it wasn’t there: render to texture.
Pretty much any application could benefit from render to texture. A perfect example would be an image editing program capable of having multiple images split up in the same window. It would be much easier to treat those images as separate textures and render modifications to them than it would be to split them into different textures once it’s time to save the files. Any 2D game could benefit by separating the rendering of the game area itself and the rendering of its UI. Sure, rendering them in a specific order instead would resolve the need for this, but it’d be much more convenient if the developer didn’t have to do that.

The third one is support for DirectX XInput devices (IE, the Xbox 360 controller for Windows controller). I’m aware that this is only useful to the windows version (and since I can’t seem to find any xinput headers or libraries for mingw, I’m guessing only for the Visual C build target), and maybe on Unixes with winelib (does Wine support DirectX XInput yet?), and only in a specific case, but it’d be handy for game developers who don’t want to write separate code to check for that in their programs.

2009/11/4 nfries88 :

I mentioned this first one on the mailing list, but i’ll mention it again
here: rotozoom.
I can see where many multimedia applications may want to resize, zoom in on,
or rotate a texture. For example, a media player could create some decent
looking effects by rotating and recoloring the same image several times, and
it becomes inefficient to create a new texture for each case. An image
editor would also need some functions to rotate, resize, or zoom an image or
selected area. 2D games might want to resize sprites to better fit the
user’s monitor, etc.

SDL_RenderCopy and SDL_SoftStretch already handle scaling, though not rotation.
It would be nice to use quads rather than rects though so you could
handle other transformations as well.

The third one is support for DirectX XInput devices (IE, the Xbox 360
controller for Windows controller). I’m aware that this is only useful to
the windows version (and since I can’t seem to find any xinput headers or
libraries for mingw, I’m guessing only for the Visual C build target), and
maybe on Unixes with winelib (does Wine support DirectX XInput yet?), and
only in a specific case, but it’d be handy for game developers who don’t
want to write separate code to check for that in their programs.

Right now, implementing USB HID directly seems pretty tempting to
me… You could do it on Windows via WM_INPUT and device handles and
cut out a few dependencies, and it could be easily adapted to work on
other systems as well.

On the other hand, making mingw headers for XInput wouldn’t be
difficult, and you really don’t need to do much to get the libs
working.

Doesn’t Windows also provide compatibility with the normal APIs (ie.
DirectInput) for XInput devices? Is it really necessary to support
both the DirectInput and XInput controller APIs?On Wed, Nov 4, 2009 at 23:18, nfries88 wrote:

The third one is support for DirectX XInput devices (IE, the Xbox 360
controller for Windows controller). I’m aware that this is only useful to
the windows version (and since I can’t seem to find any xinput headers or
libraries for mingw, I’m guessing only for the Visual C build target), and
maybe on Unixes with winelib (does Wine support DirectX XInput yet?), and
only in a specific case, but it’d be handy for game developers who don’t
want to write separate code to check for that in their programs.

  • SR

Simon Roby wrote:> On Wed, Nov 4, 2009 at 23:18, nfries88 <@Nathaniel_J_Fries> wrote:

The third one is support for DirectX XInput devices (IE, the Xbox 360
controller for Windows controller). I’m aware that this is only useful to
the windows version (and since I can’t seem to find any xinput headers or
libraries for mingw, I’m guessing only for the Visual C build target), and
maybe on Unixes with winelib (does Wine support DirectX XInput yet?), and
only in a specific case, but it’d be handy for game developers who don’t
want to write separate code to check for that in their programs.

Doesn’t Windows also provide compatibility with the normal APIs (ie.
DirectInput) for XInput devices? Is it really necessary to support
both the DirectInput and XInput controller APIs?

  • SR

SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Judging from their msdn reference it didnt sound like it, but I also hadn’t tried. If it does work like that, then disregard that request.