首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从DX 12 VC++中的图像创建纹理

从DX 12 VC++中的图像创建纹理
EN

Stack Overflow用户
提问于 2015-12-28 13:35:55
回答 4查看 4.4K关注 0票数 0

我只想知道DirectX12API从图像创建纹理。

对于DX11,它是D3DX11CreateShaderResourceViewFromFile,对于DX9,它是D3DXCreateTextureFromFileEx,对于DX12?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-02-08 13:32:20

现在情况好多了。微软为DX12重写了他们的DX12,并将其作为MiniEngine on GitHub https://github.com/Microsoft/DirectX-Graphics-Samples/blob/master/MiniEngine/Core/DDSTextureLoader.cpp的一部分发布。

您可能还想看看我的派生工作,它的目的是在DDSTextureLoader之外更容易地使用MiniEngine。https://github.com/ClemensX/ShadedPath12/blob/master/ShadedPath12/ShadedPath12/DDSTextureLoader.cpp

我使用这个加载程序来处理我所有的纹理文件。它很好地分析了DDS (DirectDrawSurface)文件格式,包括mipmap。

票数 3
EN

Stack Overflow用户

发布于 2015-12-28 14:43:23

根本就没有。

Direct3D 12是一个低级别的API.一个非常低级别的API。它没有方便的功能,创造纹理从整个布只是一个文件名。如果您想要创建一个纹理,您必须为它工作。你必须加载文件,找出你想要的格式,通过询问系统需要多少内存来分配内存,然后通过一系列复杂的步骤将你加载的图像传输到内存中。

票数 1
EN

Stack Overflow用户

发布于 2016-07-26 17:41:24

Direct3D 12的官方“实用程序头”是d3dx12.h。它是一个内联标题,没有DLL或静态库,因此提供的功能仅限于真正的帮助程序。它不等同于D3DX11CreateShaderResourceViewFromFile。它不是作为Windows的一部分,而是在麻省理工学院许可下提供的,您只需要将其复制到您的项目中--它包含在各种DirectX 12 Visual模板中,包括我的Direct3D游戏模板

您可以使用DDSTextureLoaderWICTextureLoader模块在用于DirectX 12的DirectX工具包中为Direct3D 12提供一些现成的纹理加载器。参见本补习课

值得注意的是,D3DX9、D3DX10和D3DX11都不受欢迎,只能作为遗留DirectX SDKperMSDN的一部分使用。换句话说,您不应该在Direct3D 11代码中使用Direct3D。有关D3DX9/10/11替代品的完整列表,请参见这篇博客文章。TL;DR:在DDSTextureLoaderWICTextureLoader中使用用于DirectX 11的DirectX工具包

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

https://stackoverflow.com/questions/34494559

复制
相关文章

相似问题

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