SharpDX est un wrapper managée et open-source de l'API DirectX ! Cela permet donc d'utiliser DirectX depuis un langage .NET avec de très bonnes performances (presque aussi bonnes que l'API natif, cf. http://code4k.blogspot.ch/2011/03/benchmarking-cnet-direct3d-11-apis-vs.html) et une moindre complexité.
C'est un peu le successeur de XNA (abandonné par Microsoft).
ÉDIT : Sinon il y a MonoGame (http://www.monogame.net/) plus portable et plus simple à utiliser !
Vous vous souvenez de l'annonce "choc" disant que DirectX 12 ne serait pas disponible sur Windows 7 ?
AMD prévient que c'est purement spéculatif (c'est un de leurs employés qui a fait l'annonce) et qu'aucune source officielle de Microsoft ou de l'équipe de développement ne s'est encore prononcée sur la question. Donc il est tout à fait envisageable que Windows 7 bénéficie de DirectX 12 !
Voilà donc comment Fraps fonctionne (programme pour afficher le nombre d'images par seconde d'une application sous Windows) : il crée un hook à l'échelle du système pour s'injecter dans CHAQUE processus, présent ou à venir.
Ensuite, il vérifie si le processus utilise OpenGL ou DirectX (appels à opengl32.dll, d3d8.dll, d3d9.dll, dxgi.dll ou ddraw.dll). Si c'est le cas, il installe son hook au sein du processus en détournant une fonction spécifique (Present). Le cas échéant, il ne fait rien et n'installe pas son hook.