1

D3D11 Input Element Description有一个指定格式的字段。

当我们仅在 CPU 端有(即 32 位 fp)时,如何将halfs(例如)传递给 Input 汇编器?DXGI_FORMAT_R16_FLOATfloat

4

1 回答 1

1

Direct3D 使用的半精度格式现在非常标准。

https://en.wikipedia.org/wiki/Half-precision_floating-point_format

DirectXMath库具有用于在半精度之间进行转换的内置函数:

  • XMHALF和 XMConvertHalfToFloat 和 XMConvertFloatToHalf

  • XMHALF2及其加载/存储功能。

  • XMHALF4及其加载/存储功能。

还有一个 F16C(也称为 CVT16)内在进行转换,但您实际上只能依靠支持 AVX2 的系统(或具有 AVX 和 F16C 的固定平台,如 Xbox One)。有关更多详细信息,请参阅此博客文章

于 2020-02-11T02:08:10.790 回答