We're a small-medium size enterprise (~50 devs), working on several DirectX 9 applications. (not games)
DirectX 10 and 11 both were deep interface overhauls, as DX12 will probably be. We didn't upgrade to any of them, and since VS2013 (now migrating) working with DX9 is getting very inconvenient to say the least - while DX9 is not technically deprecated, MS is very actively pushing devs away from it.
I wonder, how are other dev shops handling the DX interface instability? Are you actually re-writing your graphics engine every ~2-3 years? Are you using 3rd party middleware? Both OGRE and Unity seem like tons of code, have design goals I don't care about (cross platform), and I'm not even sure their interface is more stable. Are there other ways I'm missing?
Important note: We're not developing AAA games, and we've not much use for fancy shaders or a need to squeeze every bit of performance from modern hardware. Our products just display data mostly in 3D.
it seems some clarifications are in order. The current state of graphics development is that MS issues a completely overhauled DX interface roughly every ~2-3 years. It seems - whether deliberately or not - they are targeting major game shops (or even: game-engine shops), which would happily devote the needed HR to rewrite the 3D graphics engine to conform to the latest and greatest.
Our shop (and I suspect many others) is nothing like that. We present a lot of data in 3D, but do not use exotic shaders and don't care about the latest consoles or GPUs. It makes no business sense for us to rewrite our rendering engine for new features we don't care about - and yet the old engines are becoming deprecated fast. A DX dev from MS writes:
the ability to support a Direct3D 9 application at all is diminished on the latest versions of Windows, and that's likely to continue
And regarding D3DX - while not technically deprecated, is very hard to work with on VS2013. MSDN diplomatic Quote:
Investigate alternate solutions for working with the Direct3D API.
I'm curious: how are other shops with similar 3D needs handling this? e.g., how are you guys in the CAD business doing?