У меня есть художественный конвейер, который включает в себя следующие шаги:
Создается карта нормалей. Я хочу сохранить только компоненты X и Y как байты без знака. Z опущен, поскольку он реконструируется в пиксельном шейдере.
Карта нормалей сохраняется в промежуточный файл изображения, который затем передается в nvtt для сжатия до BC5.
Чтобы сохранить карту нормалей, мне нужно использовать компонент Windows Imaging. Какой формат следует использовать для хранения промежуточного изображения?
.png с любым из доступных 16-битных форматов не работает (GUID_WICPixelFormat16bppBGR565, 555, 5551, Gray, GrayFixedPoint, GrayHalf).
.bmp удается, например. GUID_WICPixelFormat16bppBGR565, но тогда nvtt не может его загрузить.
Карты нормалей, которые я видел до сих пор, обычно синие с оттенками красного. Это 24-битные или 16-битные изображения? Тогда какой компонент удаляется (G?) и в каком формате они передаются в nvtt?
Потому что как-то нет смысла писать изображение только с 2 цветовыми каналами так, как если бы оно имело 3 цветовых канала как BGR565 (или только серый, если используется 16bppGray). BC5 без потерь и не должен испортить изображение, но промежуточный файл будет бесполезен для любого ручного редактирования позже.