У меня есть приложение 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 и т. д.) - и этот вопрос обычно относится к сравнению вывода «эквивалентного» билинейные интерполированные выходные изображения по любым двум из них. Спасибо!