我是HLSL的新手,在我发现的所有教程中,每个教程中似乎都有一个#include "Fxaa3_11.fxh"
。我包含了这个文件,然后它也引用了另一个头文件#include "Fxaa3_11.h"
,并且随着时间的推移,我也将这个文件包含在我的内容管道中,并且无论我采用哪种方式仍然给我一个error X1507: failed to open source file:...
。
有没有办法制作一个干净的单个FXAA.fx文件而不启用所有这些混乱的外部文件?
答案 0 :(得分:0)
如果您想动态编译着色器,可以使用此function
使用包含时最重要的部分是提供CompilerIncludeHandler,包括结果不会自动为你做(这是一件好事)。
您覆盖open方法,然后从参数中读取包含路径并将内容作为字符串返回。
如果您只想在内容管理器中处理,最简单的方法可能就是将这些头文件的内容复制粘贴到主着色器文件(包含的位置)中,并删除include语句。有点难看但很简单。