In reviewing Max 2010, we’ve come across a curious issue with our DirectX shaders.
Our shaders are all derivatives of a master shader file, which has several #include lines at its head. The default configuration for these include lines is #include “lib/includeshader.fxh”, which works fine in Max 2008 and our engine.
However, in Max 2010, our DirectX materials fail to load, citing errors like “error X3004: undeclared identifier …”. That is, unless one removes the lib/ component from the include path and relocates the FXH file into the same directory as the shader.
I’ve tried several variations of the path, like ./lib/, lib\, lib, .\lib\, etc. In all cases, it fails to find the identifiers declared in the libraries…unless they’re moved into the same directory as the shader itself, and the shader is altered to point at them there (i.e. #include “includedshader.fxh”).
Is this a known thing in 2010, or have we missed a step?
Thanks!