Использование заголовков DirectX из Wine для компиляции в MingW - PullRequest
1 голос
/ 18 января 2010

Я пытался встроить поддержку шейдеров HLSL в VLC проигрыватель.Я столкнулся с кирпичной стеной из-за отсутствия служебных методов в d3d9.h в MingW для загрузки файла .fx и компиляции шейдера.Поэтому, по совету разработчиков VLC, я позаимствовал заголовки DX9 из Wine .

Теперь, с включенным включением d3dx9.h, у меня много ошибок компилятора в виде:

Описание Расположение пути к ресурсу Тип /mingw/lib/gcc/mingw32/3.4.5/../../../../include/d3dx9core.h объявление для параметра "D3DXCheckVersion", но нет такого параметра ShadedDXPlugin строка 475 C /Проблема C ++

Может ли кто-нибудь, знакомый с MingW, GCC, DirectX и Wine, пролить свет на то, как заставить работать шейдеры HLSL через GCC?

1 Ответ

3 голосов
/ 23 января 2010

Команда VLC снова вернулась с некоторыми изумительными предложениями, и я хотел бы, чтобы они в какой-то момент попали в крысиную гонку репутации stackoverflow:

1) Скомпилируйте вызовы загрузки и сборки шейдера DirectX в отдельную библиотеку DLL на основе MSVC, которая может получить доступ к стандартным заголовкам Microsoft. Затем ссылка на эту DLL из VLC.

2) Вставьте трюк GetProcAddress, чтобы получить D3DXAssembleShaderFromFile в d3d9.h. Упомянутая функция в утилите directx создает шейдер сборки из HLSL.

...