DirectX usage

edited 2007 Jun 9 in Developers
<i>This post was originally made by <b>danij</b> on the dengDevs blog. It was posted under the categories: Engine, Windows.</i>

As I'm sure you are aware, various APIs within DirectX are being dropped (depreciated) as of version 9. The following is a list of the APIs affected:
<ul>
<li>DirectMusic</li>
<li>DirectPlay (ver 4 and earlier)</li>
<li>DirectDraw (ver 6 and earlier)</li>
<li>Direct3D (ver 8 and earlier)</li>
<li>DirectInput (ver 7 and earlier)</li>
</ul>
As you can see, some of these APIs are still being used in Doomsday under Windows so we need to begin thinking about updating our DirectX usage.

Comments

  • This should not be too much of a problem. We have the SDL libs, and we should switch to using only one graphics API anyway (i.e. OpenGL).
  • Thats what I thought.

    I just wanted to make the issue public so that we can all be sure of what needs doing and where we should be going.
  • I though we were already going to drop DirectX as directly supported, and access it via SDL instead ?

    OpenGL can do everything DirectX can do, even any funky DirectX10 stuff - without you needing to buy Vista
  • I don't think that is entirely true. I've been looking into the status of various requirements under Vista and an SDL only solution would not allow us to meet them.
  • SDL should wrap nicely around DirectInput, DirectMusic and DirectSOund. We have OpenAL to function like DirectSound3D, and OpenGL takes care of the DirectDraw and Direct3D functionality. That should cover everything we use right ?
  • Presently, yes.

    However, there are requirements under Vista (at least) which mean we cannot use SDL completely and we will have to use DirectX directly for some things.

    For example, we should be making Doomsday available under the Vista Game Explorer interface. This means we need to talk directly with the DirectX API for things like parental control, access rights determination etc.

    Another example, the XInput device controllers (used for Xbox360 pads) are not currently handled in SDL. The extended functionality offered by these devices is not available via SDL.
  • As far as I am concerned, full Vista support is not very high on the priority list.

    But yes, most likely we'll need to do some Windows-specific stuff in addition to using SDL, for those things you mention.
  • The reason I'm mentioning Vista is that I plan to dual boot Vista/XP in the not too distant future.

    As deng's Windows developer I'm happy to accept responsibility for any specific code needed to do the things I'm suggesting.
Sign In or Register to comment.