Как изменить формат цвета ID3D11Texture2D без копирования буфера - PullRequest
0 голосов
/ 17 июня 2020

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

Итак, в основном вопрос в том, могу ли я изменить цветовой формат ID3D11Texture2D без приходится копировать / изменять буфер пикселей, если количество пикселей на самом деле одинаково.

Заранее спасибо!

...