3

The document: http://msdn.microsoft.com/en-us/library/dd607349(v=vs.85).aspx

states that #include "foobar.fx" will look for that file in the same directory as the current effect file.

It doesn't work, but using an absolute path does, which is of course useless.

Google doesn't come up with anything. Anything I'm missing here?

4

2 に答える 2

8

Direct3D 11 オンザフライ シェーダー コンパイラの既定のインクルード ハンドラーがあります。

これはマクロです: (c++) D3D_COMPILE_STANDARD_FILE_INCLUDE

D3DCompile 関数へのリンクを次に示します。

http://msdn.microsoft.com/en-us/library/windows/desktop/dd607324(v=vs.85).aspx

マクロは、include 変数の説明に記載されています。

グーグルで探すのに妙に時間がかかったが、途中で通りかかった。他の誰かがここにたどり着いた場合に備えて、投稿すると思いました。

于 2013-11-11T16:29:56.753 に答える
5

あなたが提供したリンクに記載されているように、その自動処理はオフラインシェーダーコンパイラツールでのみ機能します。いずれかの API を使用してコンパイルする場合は、コンパイラがインクルード ディレクティブを検出したときに使用するインクルード ハンドラーを指定する必要があります。

于 2011-03-12T14:51:21.730 に答える