首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DirectX 12中,是什么取代了#include <d3dx9tex.h>?

在DirectX 12中,是什么取代了#include <d3dx9tex.h>?
EN

Stack Overflow用户
提问于 2016-10-27 21:18:58
回答 2查看 1.6K关注 0票数 4

我正在用一本书处理DirectX 9,#include d3dx9tex.h智能感知的例子表明这个文件不存在,结果hResult = D3DXGetImageInfoFromFile(filename.c_str(), &imageInfo);也显示了错误。我安装了DirectX 12。有人能帮上忙吗?

EN

回答 2

Stack Overflow用户

发布于 2016-10-28 00:51:00

所有的Direct3D 9编程书籍和教程都假定您使用的是DirectX开发工具包,在那里您可以找到D3DX支持库。DirectX软件开发工具包本身和Direct3D 9一样都是遗留的。D3DX9、D3DX10和D3DX11已被弃用。参见Where is the DirectX SDK?

如果你使用的是Windows10(Windows12需要),或者Windows8.x或者Windows7,那么我的建议是学习Direct3D 11。Direct3D 9现在只有在你试图以Windows系统为目标的情况下才有用,并且在Windows8.x或Windows10上尝试使用Direct3D 9进行开发有许多注意事项。Direct3D 12是一个专业的图形应用编程接口,它假设你已经完全有能力编写Direct3D 11应用程序。DirectX Tool Kittutorials是一个很好的起点。您根本不需要遗留的HLSL来构建Direct3D 11应用程序,因为所有的头文件、库和DirectX编译器都包含在VS 2012、VS 2013和VS 2015中。

另请参阅Living without D3DXDirectX SDK Samples CatalogDirectX SDK Tools CatalogDirectX SDKs of a certain ageThe Zombie DirectX SDK

更新:有可用的DirectX Tool Kit for DX12

我最近还将Direct3D 9的DDSTextureLoader和WICTextureLoader实现添加到了DirectXTex项目中。参见this blog post

票数 2
EN

Stack Overflow用户

发布于 2020-03-12 17:36:23

d3d9helper.h (它包含在所有Windows SDK中)现在严格地说,您应该使用更现代的DirectX,除非这里的目的是支持旧版本的Windows。

但请记住,Windows7/8/ 10同时支持Windows11和DirectX 12,如果你只为Windows10发布一些东西,那么只需使用DirectX 12就可以了。最初的学习可能会有点令人望而生畏,但从开发人员的角度来看,它在控制硬件和管道方面要强大得多。

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

https://stackoverflow.com/questions/40285671

复制
相关文章

相似问题

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