Формат половинной точности, используемый Direct3D, в наши дни довольно стандартный.
https://en.wikipedia.org/wiki/Half-precision_floating-point_format
Библиотека DirectXMath имеет встроенную в функциях для преобразования в / из половинной точности:
XMHALF и XMConvertHalfToFloat и XMConvertFloatToHalf
XMHALF2 и функции загрузки / сохранения для него.
XMHALF4 и функции загрузки / сохранения для него.
Существует также F16 C (также известный как CVT16) intrinsi c для выполнения преобразований, но вы действительно можете рассчитывать на них только с системами, которые поддерживают AVX2 (или с фиксированными платформами, такими как Xbox One, которая имеет AVX, но также F16 C). Подробнее см. в этом блоге .