Delphi7: вывод изображения через Direct 3d

Артем13 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
27.09.2012

Есть программа, для вывода видео используется некий юнит (см. вложение).

Задача этого юнита - получить массив байт (RGB24) и вывести в виде изображения на экран.

В настоящий момент используется DirectDraw7 и в Windows 7 работает косячно - не включается аппаратное сглаживание, производительность оставляет желать лучшего. Необходимо переписать этот юнит используя Direct3d. (Как вариант - решить проблемы не переписывая)

Необходимый набор методов такой:

constructor Create; overload;

destructor Destroy; override;

function Init(AMainForm: TForm; AOut: TWinControl; const AWidth, AHeight: Integer): HRESULT;

function Render(const pBit: pointer): HRESULT;

property Width: Integer read FWidth;

property Height: Integer read FHeight;

property WaitForVerticalBlank: Boolean read FWaitForVerticalBlank write FWaitForVerticalBlank;

В архиве сам юнит (DXDrawImg.pas) и тестовая программа.

Требования такие:

1. Объект должен нормально работать в многомониторной конфигурации. В рамках одного процесса может быть использовано несколько объектов.

2. Производительность должна быть не хуже чем в текущей версии. Желательно - побыстрее.

3. Должны поддерживаться WindowsXP, Windows7

4. Изображение должно быть со сглаживанием - на низком разрешении не должно быть ступенек на градиенте (lo.bmp - правильно).

5. Возможность включения и отключения вертикальной синхронизации.

Оплата 50% по получению скомпилированной тестовой программы, остаток после получения и проверки исходных кодов в реальной программе. Для имеющих положительные отзывы возможна 50% предоплата.