Monday 14 September 2009

Direct3D 10, 10.1 and 11 Delphi interface units (headers)

I've just converted the Direct3D 10, 10.1 and 11 C++ header files into interface units for use with Delphi 2009 and 2010. The interface units are based on the Aug 2009 version of the Microsoft DirectX 11 SDK (published 8th September 2009). The reason for converting them myself was because I needed them urgently and was not able to wait for the JEDI/Clootie versions.

See: http://www.jsbmedical.co.uk/DirectXForDelphi/

I will soon be using these myself, and will be posting regular updates as issues arise. Therefore if you have any problems (e.g. unexpected error messages when calling some DirectX methods), please download the latest version from the above link.

The software license is included at the top of each file.

The interface units are intended for Delphi 2009 and 2010, though they may work with other versions. If you are interested in using them with FPC or C++ I may be able to provide either multiple versions or a multi-purpose version, though I would to work with you to test them as I don't have time to install multiple compilers.

Note that Direct3D 10 and 11 are intertwined, so for Direct3D 11 you need both the Direct3D 10 and 11 interface units.

They are not quite compatible with the JEDI equivalents. For example, I've chosen to make optional interface output parameters into "out" parameters rather than pointers. This is to ensure that Release is called on the supplied interface. You can still provide a "nil" parameter - see instructions at the top of the header files. Also I've left enumerations as enumerations rather than changing them to constants, which means that you need to cast them to LongWord in some cases.

If you are interested in this work, please spread the word. If there is enough interest I will consider translating other header files on request. Delphi is a fantastically fast development environment and I am very interested in keeping it alive (in fact I need to - because the last ten years of my life are locked up in it...).

So that I can gauge the level of interest, please do get in touch (e.g. by becoming a "follower", emailing (see the comments at the top of the interface units for my email address) or leaving a message) if you are going to use, or thinking of using, this work.

John Bladen.

3 comments:

  1. Nice Job! I use Delphi where i work (Business software) but my hobbies are 3d programming and now i can mix business with pleasure :)

    ReplyDelete
  2. Nice Job! I use Delphi where i work (Business software) but my hobbies are 3d programming and now i can mix business with pleasure :)

    ReplyDelete