如何将一半传递给顶点着色器?

How do I pass half to a vertex shader?

本文关键字:顶点 一半      更新时间:2023-10-16

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

我怎样才能通过half(例如DXGI_FORMAT_R16_FLOAT(到输入汇编器,当我们仅在CPU端float(即32位fp(时?

Direct3D 使用的半精度格式如今非常标准。

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

DirectXMath 库具有用于转换为半精度/从半精度转换的内置函数:

  • XMHALF 和 XMConvertHalfToFloat 和 XMConvertFloatToHalf

  • XMHALF2和加载/存储功能。

  • XMHALF4和加载/存储功能。

还有一个F16C(

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