2010-01-18 3 views
0

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

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

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

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

ответ

2

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

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

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

+0

только 2 голос за этот ответ ... O_O это заслуживает гораздо большего – GameDeveloper

Смежные вопросы