1

HLSLシェーダーサポートをVLCプレーヤーに組み込むことを試みてきました。MingWのd3d9.hに.fxファイルをロードしてシェーダーをコンパイルするためのユーティリティメソッドがないため、壁にぶつかりました。そこで、VLC開発者からのアドバイスの下で、 WineからDX9ヘッダーを借りました。

d3dx9.hインクルードを有効にすると、次の形式で多くのコンパイラエラーが発生します。

説明リソースパス場所タイプ/mingw/lib/gcc/mingw32/3.4.5/../../../../include/d3dx9core.hパラメーター「D3DXCheckVersion」の宣言。ただし、そのようなパラメーターはありませんShadedDXPlugin line 475 C / C++の問題

MingW、GCC、DirectX、およびWineに精通している人は、GCCを介してHLSLシェーダーを機能させることに光を当てることができますか?

4

1 に答える 1

3

VLC チームは再びいくつかの素晴らしい提案をしてくれました。いつか、stackoverflow の評判の競争に参加してもらいたいと思います。

1) DirectX シェーダーの呼び出しをコンパイルして、標準の Microsoft ヘッダーにアクセスできる別の MSVC ベースの DLL にロードおよびアセンブルします。次に、VLC からこの DLL にリンクします。

2) d3d9.h に D3DXAssembleShaderFromFile を取得するための GetProcAddress トリックを挿入します。HLSL からアセンブリ シェーダーを生成するための directx ユーティリティの上記の関数。

于 2010-01-23T03:56:44.563 に答える