Билинейная интерполяция - DirectX vs. GDI +

У меня есть приложение C #, для которого я написал код GDI +, использующий рендеринг Bitmap / TextureBrush для представления 2D-изображений, к которым могут применяться различные функции обработки изображений. Этот код представляет собой новый путь в приложении, имитирующем существующий код DX9, и они используют общую библиотеку для выполнения всех векторных и матричных операций (например, ViewToWorld / WorldToView). Мой тестовый стенд состоит из выходных изображений DX9, которые я сравниваю с выходными данными нового кода GDI +.

Простой тестовый пример, который отображает область просмотра, которая соответствует размерам растрового изображения (то есть без масштабирования или панорамирования) выполняет ] идеально подходят для пикселей (без двоичных различий) - но как только изображение увеличивается (увеличивается), я получаю очень незначительные различия в 5-10% пикселей. Величина разницы составляет 1 (иногда 2) / 256. Я подозреваю, что это происходит из-за различий в интерполяции.

Вопрос : Для ортопроекции DX9 (и пространства тождественного мира) с камерой, перпендикулярной и центрированной на текстурированном квадрике, разумно ли ожидать DirectX. Direct3D.TextureFilter. g.InterpolationMode = InterpolationMode.Bilinear;

Я думал, что «Билинейная интерполяция» была довольно специфическим определением фильтра, но затем я заметил, что в GDI + есть еще один вариант для «HighQualityBilinear» (который я пробовал, без разницы - что имеет смысл, учитывая описание «добавленной предварительной фильтрации для сжатия»)

Дополнительный вопрос: Разумно ли ожидать идеального пиксельного совпадения вывода между DirectX и GDI + (при условии, что все переданные внешние координаты равны )? Если нет, то почему?

Пояснение: Изображения, которые я использую, имеют непрозрачную шкалу серого (R = G = B, A = 1) с использованием Format32bppPArgb.

Наконец, есть ряд других API, которые я можно было бы использовать (Direct2D, WPF, GDI и т. д.) - и этот вопрос обычно относится к сравнению вывода «эквивалентного» билинейные интерполированные выходные изображения по любым двум из них. Спасибо!

7
задан holtavolt 30 March 2011 в 21:43
поделиться