使用Direct X和VS2012

Ael*_*wad 4 directx visual-studio-2012

我有Visual Studio 2012 Express for Desktop和Windows 8,我想创建Direct X应用程序和游戏.我知道现在有一个Windows SDK,而在win 2012的VS 2012 exp中,IDE预先安装了SDK(我知道来自新的Direct3D项目).我的问题是,如果我想开发Windows桌面应用程序(使用VS2012exp)它是Windows SDK还是我需要安装Direct X SDK?我怎么知道我的显卡是否支持哪个版本的Direct X?任何Direct X SDK版本都可以与任何Direct X版本一起使用吗?你可以看到我是那个东西的新手,任何评论都会有所帮助.谢谢你的时间.

Iva*_*rop 6

如果我想为Windows桌面开发应用程序(使用VS2012exp)它是Windows SDK还是我需要安装Direct X SDK?

是的,使用Windows 8 SDK和Visual Studio 2012(或Windows 8.1 SDK和Visual Studio 2013预览版),您可以开发任何内容:

  • DirectX应用程序(Windows桌面和Windows应用商店)
  • 对于任何受支持的目标平台(x86,x64,ARM)
  • 适用于任何合理的现代Windows操作系统(从Windows 2000/XP开始)
  • 使用任何API版本:DirectX 9.3,10.0,10.1,11.0或11.1

注意:

  • DirectX 9 API与10和11完全不同,它已经过时了.仅在将目标定位到Vista以下的Windows版本时才使用它.
  • DirectX 11更像是DirectX 10的改进版本.
  • 因此,在大多数情况下,您需要为DirectX 11.1编程.

不,您不需要安装DirectX SDK.它已被弃用(最新版本 - 2010年6月).不要在新代码中使用它.仅当您需要编译使用D3DX内容(例如ID3DXEffect, ID3DXFont, ID3DXLine, ID3DXMesh, ID3DXSprite)的旧代码时才使用它,例如来自书籍或不同SDK样本的样本.

我怎么知道我的显卡是否支持哪个版本的Direct X?

好吧,如果我们谈论您的视频卡,您可以查看您的卡供应商或GPU供应商的网站.或者任何信息工具,例如GPU-Z.

如果我们谈论最终用户硬件,那么DirectX 10-11就有了feature levels.因此,即使您使用的是最新的API(此时也是DirectX 11.1),您也可以定位旧硬件(例如,如果您使用D3D_FEATURE_LEVEL_9_3,则更新功能,D3D_FEATURE_LEVEL_10_0将禁用更高版本).

请注意,要开发最新版本,feature level您不需要支持它的GPU.您可以在WARP设备上运行和调试应用程序(非常慢,仅用于调试目的,而不是用于最终用户发布).例如,您可以使用旧的DirectX 10卡(Shader model 4.0),但可以使用DirectX 11(Shader model 5.0)

任何Direct X SDK版本都可以与任何Direct X版本一起使用吗?

最新的DirectX SDK(2010年6月)支持DirectX最多11个.没有DirectX 11.1支持.