DirectX_1_logoMany early Windows games were developed with DX5, DX6, DX7 and DX8. Windows XP introduced DX9 which finally added strong support for the GPU.

DX3 was a developers nightmare so no serious games were developed with it. DX4 was not released and DX5 was the next release which was used by a few early Windows games.

Black Dahlia uses DX5 and it does not work on anything above Windows XP.

DX7 is considerably different in operation compared to DX9. DX7 introduced hardware transform and lighting. The CPU was forced to do a lot of the work which is one of the reasons why MMX registers and SSE were added. DirectX 9 exposes features of DX7 level hardware that DirectX7 did not, targeting their fixed-function T&L pipeline.

Game engines generally will need to convert a lot of functions to D3D to be able to leverage the GPU instead of the CPU doing all the work.

DX8 introduced the high level shader language. Freelancer is DX8 and even Windows 10 will run the game fine. Using a shader to handle the work done in code will definitely require some careful consideration. This is mostly due to the way the game was rendered.

Ray casting can be done as a shader which is what Doom used back for its rendering engine.

DX9 introduces shader model 2.0. Extending a DX7 game does take a fair bit of work for developers to modernize. In practice many fine the process too daunting to even try as the fixed function T&L left the CPU to do most of the work, Still much of the CPU load can be dumped onto the GPU in a project.