我是第一次接触HLSL,在我发现的所有教程中,似乎每个教程中都有一个#include "Fxaa3_11.fxh"。我包含了这个文件,然后它还引用了另一个头文件#include "Fxaa3_11.h",在它运行的过程中,我还将这个文件包含到我的内容流水线中,无论我走哪条路,它都会为我提供一个error X1507: failed to open source file:...。
有没有办法在不启用所有这些乱七八糟的外部文件的情况下创建一个干净的、单一的FXAA.fx文件?
发布于 2013-09-18 00:59:06
如果要动态编译着色器,可以使用此function
使用includes时最重要的部分是提供一个CompilerIncludeHandler,include解析不会自动为您完成(这是一件好事)。
重写open方法,然后从参数中读取include路径,并以字符串形式返回内容。
如果只想在内容管理器中进行处理,最简单的方法可能就是将这些头文件的内容复制粘贴到主着色器文件(其中包含的位置)中,然后删除包含语句。有点难看,但很简单。
https://stackoverflow.com/questions/18383367
复制相似问题