DirectX HLSL包含指令不起作用

Ton*_*ony 3 c++ directx directive hlsl include

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

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

它不起作用,但使用绝对路径确实没有用,这当然是无用的.

谷歌没有提出任何建议.我在这里缺少什么?

小智 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

在include变量的解释中提到了宏.

我花了一段时间才找到奇怪的谷歌,但我顺便过去了.我以为我会发布它以防万一其他人在这里结束.


Mik*_*keP 5

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