首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DXGI格式之间转换RGBA数据

在DXGI格式之间转换RGBA数据
EN

Stack Overflow用户
提问于 2017-02-20 11:27:36
回答 1查看 1.1K关注 0票数 1

我需要有效地将ID3D11Texture2D类型DXGI_FORMAT_R32G32B32A32_TYPELESS的纹理转换为DXGI_FORMAT_B8G8R8A8_TYPELESS类型(或任何其他32位RGBA类型)的纹理。基本上将每像素的128位纹理减少到32位/像素。看起来像ID3D11DeviceContext::CopyResource无法处理这样的格式转换。我应该用着色器来达到这个目的吗?如果是,该着色器是否可以与CopyResource一起使用,或者我是否需要设置完整的呈现管道?尝试在CPU上进行转换,但是太慢了。

EN

回答 1

Stack Overflow用户

发布于 2017-02-21 00:13:53

一般来说,最快的转换方法是使用GPU将源格式纹理的“全屏四角体”呈现为目标格式的呈现目标。这些限制将基于支持呈现目标格式的Direct3D硬件功能级别。例如,在所有具有现代驱动程序的特性级别上,可以将DXGI_FORMAT_B8G8R8A8_UNORM作为呈现目标而不是DXGI_FORMAT_B8G8R8A8_SNORM来支持。

MSDNDirect3D特征级

有关所有可能的DXGI格式转换的基于CPU的回退,请参见DirectXTex

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

https://stackoverflow.com/questions/42343338

复制
相关文章

相似问题

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