Working with Direct X and VS2012

前端 未结 2 1938
鱼传尺愫
鱼传尺愫 2021-01-13 14:37

I have both Visual Studio 2012 Express for Desktop and for Windows 8, and I wanted to create Direct X applications and games. I know that there is a Windows SDK now, and in

2条回答
  •  生来不讨喜
    2021-01-13 15:21

    If I wanted to develop applications for Windows Desktop (using VS2012exp) does it come Windows SDK or do I need to install Direct X SDK?

    Yes, with Windows 8 SDK and Visual Studio 2012 (or Windows 8.1 SDK and Visual Studio 2013 preview) you can develop anything:

    • DirectX applications (both, Windows Desktop and Windows Store)
    • for any supported target platform (x86, x64, ARM)
    • for any reasonably modern Windows operating system (starting from Windows 2000/XP)
    • using any of API versions: DirectX 9.3, 10.0, 10.1, 11.0, or 11.1

    Note:

    • DirectX 9 API is completely different from 10 and 11, and it is obsolete. Use it only if you targeting Windows versions below Vista.
    • DirectX 11 is more like an improved version of DirectX 10.
    • So in most cases, you will want to program for DirectX 11.1.

    And no, you don't need to install DirectX SDK. It was deprecated (latest version - june 2010). Do not use it in new code. Use it only if you need to compile some old code which uses D3DX stuff (such as ID3DXEffect, ID3DXFont, ID3DXLine, ID3DXMesh, ID3DXSprite), e.g. samples from books or different SDK samples.

    And how do I know if my graphics card support which version of Direct X?

    Well, if we talking about your videocard, you can look at your card vendor's or GPU vendor's site. Or any of informational utilities, such as GPU-Z.

    If we talking about end-user hardware, since DirectX 10-11 there are feature levels. So even if you are using latest API (DirectX 11.1 at this moment), you can target old hardware (for example, if you using D3D_FEATURE_LEVEL_9_3, newer features, from D3D_FEATURE_LEVEL_10_0 and higher will be disabled).

    Note, that to develop for latest feature level you don't need GPU that supports it. You can run and debug application on WARP device (ivery slow and meant for debugging purposes only, not for end-user release). For example, you can have old DirectX 10 card (Shader model 4.0), but target to DirectX 11 (Shader model 5.0)

    Will any Direct X SDK version work with any Direct X version?

    Latest DirectX SDK (june 2010) supports DirectX up to 11. No DirectX 11.1 support.

提交回复
热议问题