Monday 30 November 2015

C#/DX9 to C++/DX11

Apologies it's been a while since my last post but I've been locked away in a small, dark room converting the ~90k lines of the CAP2 codebase.

Previously CAP2 was XNA based, written in C# and using a DX9 level graphics API. By converting to C++ and using DX11 we get a slight CPU performance bump and a major graphics performance boost through efficient graphics buffer reuse and improved shader capabilities. Basically we can eliminate some duplicated draw calls and shader workarounds we'd previously employed.

The other major benefit to the conversion is much simpler and more efficient integration with API's such as:

  1. TrackIR
  2. Oculus
  3. FMOD (3D Audio)
  4. RakNet (Multiplayer)
  5. Steam

We'll release to Early Access with TrackIR, Steam integration and FMOD. Oculus then multiplayer will follow.

As for release dates I've been burned a couple of times in the past with those so we'll give one when we have a release build in hand with just marketing & Steam store tasks to complete. I won't be adding any new features before then, so no Zeppelins or other crazy requests to delay things :)

So, having taken a bit of pain with the time taken for the conversion it puts us in much better shape for the future with improved performance and API integration.