我有一个使用DX9的软件,但是在特定的windows 10版本中fps拖放有太多问题,所以我尝试使用d3dx10库编译它,并收到以下错误:

我不知道这是否会很容易,但是有任何方法可以使用directx10上的新函数来重新实现这些函数吗?提前感谢
发布于 2018-04-30 16:40:34
不幸的是,提前几年在一个端口中跳过14+将是一个相当大的项目,但是有很多可用的资源可供帮助。
首先,有一个从Direct3D 9到Direct3D 10迁移的官方指南。现在,您实际上不应该移植到Direct3D 10,而应该移植到Direct3D 11,它具有相同的特性,但具有更广泛的硬件支持、更多的实用程序库和更多的社区支持。正如官方指南迁移到Direct3D 11所指出的,从Direct3D 10到Direct3D 11是一个非常直截了当的过程。您可以在逻辑上将代码从Direct3D 9移动到Direct3D 10,然后通过同时遵循这两个指南将Direct3D 10移动到Direct3D 11。
其次,D3DX、D3DX10和D3DX11都不受欢迎,遗留的DirectX SDK本身也是如此。因此,您应该花点时间阅读MSDN、这篇博客文章和无D3DX生活,以充分了解这里发生的变化。在迁移到Direct3D 11时,您应该尽可能多地删除遗留DirectX SDK上的依赖项。
第三,从缺少的导出,您正在使用FX系统为您的着色器。有一个对Direct3D 11的影响,但它不是D3DX11的一部分。最新的运行时可在GitHub上使用。需要注意的是,对fx_4_0、fx_4_1和fx_5_0配置文件的编译器支持是废弃的,因此您应该考虑从使用FX转向直接管理着色器和状态组合。
关于已退役的遗留DirectX SDK的更多资源:DirectX SDK工具目录、DirectX SDK样本目录、具有一定年龄的DirectX SDK和僵尸DirectX SDK 学习Direct3D11的更多资源:开始使用Direct3D 11和用于DirectX的DX11工具包
https://stackoverflow.com/questions/50093952
复制相似问题