Hi there All,
I have asked this question over at StackExchange but have not got a proper responce so I thought I would aks here!
I am just beginning to dip my toe into game programming and have been reading up on all the different API's out there like SDL, SFML, OpenGL, XNA, MonoGame and of course DirectX. (Needless to say there are a lot of choices out there)
As much as I like SFMLs object oriented syntax I have chosen to read up and start with SDL as it is pretty ubiquitous and available on every platform (Windows, Linux, Mac) and also available on portable devices (Android, iOS) with the current exception of WinPhone 7. Plus there are lots of tutorials on the net about it.
After that pre-amble here is my question.
I notice that the docs say that for the windows platform the SDL API calls through to DirectX for higher perf. ( http://www.libsdl.org/intro.en/whatplatforms.html )
Microsoft have said that for Metro Game Apps you can only use DirectX (which means no XNA, no OpenGL, no SFML, etc, etc)
My question is: If SDL just wraps DirectX calls will I (we) be able to use SDL to bring games to the new Metro WinRT environment and Windows 8 marketplace?
This would be great if possible. Additionally as WinPhone 8 is supposedly built on Win8 then this could mean SDL would be available on the win phone in the future too.
My first question again is, am I right in saying that SDL uses DirectX on windows? The documentation seems to say that but other people in forums write that it targets OpenGL?
My Second question is, if SDL does target DirectX then should we be able to target Metros Apps going forward?
I have installed Visual Studio 11 (beta) in Windows 8 Consumer Preview (CP) and went file->New to check project types.
The project types that look of interest to me are:
I have generated a simpel "Direct2D App" but when you make calls through to SDL it generates its own seperate window when you call: SDL_INIT.
My third question is: Is it possible to link/setup the SDL window to point to the Direct2D surface in the this project?
Thanks everyone for taking the time to read this post and secondly for your time in responding to this question and I look forward to hearing your response.
PS: I am a complete newbie in this area and am just looking for the best API library that targets as many systems as possible and from what I have read SDL seems to fir that bill.