首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DirectX11可以将负值写入纹理格式的浮点吗?

DirectX11可以将负值写入纹理格式的浮点吗?
EN

Stack Overflow用户
提问于 2021-03-08 14:51:02
回答 1查看 162关注 0票数 0

我想将正常值写入纹理格式的DXGI_FORMAT_R11G11B10_FLOAT。我知道写"0.5 *正常+ 0.5“很好。但我的纹理格式是浮子,所以我尝试写解压正常,但它没有工作。DirectX11支持减值纹理吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-08 21:26:26

DXGI_FORMAT_R11G11B10_FLOAT是一种积极的唯一格式。见Microsoft

三个部分精确的浮点数字编码成一个32位值( s10e5的一个变体,它是符号位、10位尾数和5位有偏(15)指数).没有符号位,每个通道有一个5位有偏(15)指数,R和G有6位尾数,B有5位尾数,如下图所示。

如果要向呈现目标写入负浮点值,则需要使用不同的格式。

代码语言:javascript
复制
DXGI_FORMAT_R32G32B32A32_FLOAT
DXGI_FORMAT_R16G16B16A16_FLOAT

DXGI_FORMAT_R32G32B32_FLOAT也是一个选项,但是任何Direct3D硬件功能级别都不需要将这种格式作为呈现目标来支持。您必须检查支持,并在不支持时进行备份。

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

https://stackoverflow.com/questions/66531974

复制
相关文章

相似问题

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