I have plenty of experience of other systems, from right back to Calcomp pen plotters and the first graphics terminals up to OpenGL, but I haven't done any graphics programming for a few years and I've never programmed graphics on Windows before. So the question is, what libraries, development environment, etc, to learn? Some criteria: Will be running on desktop computers (and possibly tablets), but not games consoles, Windows phones, etc. Minimize dependence on MS software, beyond the core Windows components. C++ and/or Fortran (i.e. not Java, C#, etc, etc). Minimize dependence on graphics hardware. Don't meed ultra high performance. Want something likely to be stable for a reasonable timescale (i.e. 5 years, not 5 months). Preferably, free. OpemGL on Windows seems to be implemented using vendor-specific graphics drivers, so could be problematic with a diverse set of hardware (system dependent bugs, unsupported graphics cards, etc) - or as a software implementation on top of DirectX. DirectX seems like the cleanest option: Runs on pretty much all existing versions of Windows. Apparently it's a core part of MS's future strategy, but I can find non-MS-written tutorials on the Web that don't start every other sentence with "This is easiest on Windows 8.1", "Using MS Visual Studio", or "The MS App Store" .... No reason why I can't develop using the Gnu compilers. Any comments and/or alternative suggestions?