首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >d3d11.lib和d3dx11.lib之间的基本区别

d3d11.lib和d3dx11.lib之间的基本区别
EN

Stack Overflow用户
提问于 2012-11-08 23:16:53
回答 2查看 1.7K关注 0票数 0

多亏了StackOverflow,我解决了一个困扰我一段时间的链接器错误。我假设库d3d11包含d3dx11的功能,这导致了混淆。

这两个库有什么不同?Is d3dx11在它的描述中只提到了"D3DX工具库“。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-08 23:20:13

对于directX头文件,但我认为对于lib应该是相同的:

这些文件包含不同的内容。d3d11.h文件包含Direct3D的核心部分。d3dx11.h文件包括对Direct3D的扩展,这些扩展对于图形库来说不是必需的,但在编写游戏或其他图形程序时会非常方便。

票数 4
EN

Stack Overflow用户

发布于 2021-03-08 16:38:58

d3d11.lib是Windows11API,它是Direct3D操作系统的一部分。可以在Windows SDK中找到最新版本的d3d11*.h头文件和d3d11.lib库。

d3dx11.lib是Direct3D 11的“助手”库,其中包括D3DX11CreateTextureFromFileD3DX11SaveTextureToFile等内容。它是可选的,并且Runtime DLL不是Windows操作系统的一部分--您的应用程序必须部署它才能运行。

适用于Direct3D 9的D3DX (也称为D3DX9)具有精灵、图案线、网格、字体、纹理加载/保存、BC (DXT1-5)压缩、邻接计算、D3DXmath和效果(FX)库的功能。其中包括HLSL编译器。它还具有MSR的其他功能,如渐进网格、顶点缓存优化、uvatlas等值图和预计算辐射传输(PRT)。

适用于Direct3D 10的D3DX (也称为D3DX10)比D3DX9进行了更多的裁剪,并利用Windows映像组件(WIC)进行图像I/O。它支持BC1-5压缩。.x文件格式已弃用,因此虽然D3DX10具有网格对象,但它无法从磁盘创建或保存网格对象。其中包含了与D3DX9版本相同的D3DXMath。将Direct3D 10的Effects system (FX10)放入操作系统。HLSL编译器被拆分成D3DCompile应用程序接口。

用于Direct3D 11的D3DX (也称为D3DX11)比以前的版本小得多。它主要是通过WIC和BC1-7压缩加载/保存纹理。DirectXMath取代了D3DXMath。不推荐使用Direct3D 11 (FX11)的效果,并将运行时添加到open source项目中。Direct2D支持“模式线”和演示图形功能,DirectWrite应该取代字体功能。

D3DX9、D3DX10和D3DX11以及每个Microsoft Docs的遗留DirectX软件开发工具包都被弃用了。

有很多D3DX11的替代品,其中大部分是开源的。有关完整列表,请参阅Living Without D3DX

对于需要D3DX9/D3DX10/D3DX11的旧代码库,您可以使用Microsoft.DXSDK.D3DX NuGet包,而不是使用传统的SDK。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13291853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档