Directx programming framework