3

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

声明 #include "foobar.fx" 将在与当前效果文件相同的目录中查找该文件。

它不起作用,但是使用绝对路径可以,这当然没用。

谷歌没有想出任何东西。我在这里缺少什么吗?

4

2 回答 2

8

Direct3D 11 On-the-fly 着色器编译器有一个默认包含处理程序。

这是一个宏:(c++) D3D_COMPILE_STANDARD_FILE_INCLUDE

这是 D3DCompile 函数的链接。

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

在包含变量的解释中提到了宏。

奇怪的是,我花了一段时间才用谷歌找到,但我在路上经过了这里。我想我会发布它以防其他人在这里结束。

于 2013-11-11T16:29:56.753 回答
5

如您提供的链接中所述,该自动处理仅适用于离线着色器编译器工具。如果您使用其中一种 API 进行编译,则需要为编译器指定一个包含处理程序,以便在遇到包含指令时使用:ID3DInclude

于 2011-03-12T14:51:21.730 回答