Я работаю над проектом, в котором я получаю отформатированное изображение NV12
по сети, где оно хранится как ID3D11Texture2D
. У меня есть указатель на эту текстуру в формате NV12
. Мне нужно передать текстуру в Unity (для использования с Texture2D.CreateExternalTexture
), но для этого мне нужен формат, поддерживаемый Unity. Обычно подойдет любой одно-, трех- или четырехканальный цветовой формат. Я не собираюсь преобразовывать фактический буфер пикселей, просто "помечаю" его как другой формат (например, если у меня есть текстура awxh NV12
, буфер пикселей будет соответствовать одному 8-битному каналу awx (1.5 * h) образ). Получив это, я могу просто написать пиксельный шейдер в Unity, чтобы обработать тот факт, что текстура имеет неправильный формат.
Итак, в основном вопрос в том, могу ли я изменить цветовой формат ID3D11Texture2D
без приходится копировать / изменять буфер пикселей, если количество пикселей на самом деле одинаково.
Заранее спасибо!