2010-01-18 53 views
0

我一直在试图在VLC播放器中构建HLSL着色器支持。由于MingW的d3d9.h中缺少实用方法来加载.fx文件并编译着色器,所以我遇到了困难。所以在VLC开发者的建议下,我借用了Wine的DX9头文件。使用Wine的DirectX头文件在MingW下编译

现在用d3dx9.h包括使我有很多形式的编译器错误:

描述资源路径位置类型 /mingw/lib/gcc/mingw32/3.4.5/../ .. /../../include/d3dx9core.h声明参数“D3DXCheckVersion”,但没有这样的参数ShadedDXPlugin line 475 C/C++问题

熟悉MingW,GCC,DirectX和Wine的任何人都可以获得一些关于获取通过GCC工作的HLSL着色器?

回答

2

的VLC团队再次与一些奇妙的意见回来,我想他们进入一些点计算器声誉的激烈竞争:

1)编译调用到DirectX着色器加载和组装成单独的基于MSVC的DLL可以访问标准的微软头文件。然后从VLC链接到这个DLL。

2)插入GetProcAddress技巧,在d3d9.h中获取D3DXAssembleShaderFromFile。 directx实用程序中的所述函数用于从HLSL生成装配体着色器。

+0

只有2个投票才能解答这个问题... O_O它值得更多 – GameDeveloper 2015-01-23 22:09:04