The string ParamID = “0x003”; line fixed my shader.
Does anyone care to explain what the DXSAS compiler is?
is there a problem with the Max2009 compiler, or do we need to include this string ParamID in all version of max .FX shaders?
DXSAS stands for DirectX Standard Annotations and Semantics. It’s referring to all the script extras you include in an FX file beyond your shader code that allow the automatic UI to be generated, different passes to be managed, and data and textures supplied to the hardware. You can read about it here: http://msdn.microsoft.com/en-us/library/bb173004%28VS.85%29.aspx
There are different versions of the parser supported by Max, partly for backwards compatibility, partly to support both HLSL and CG. Ben summarizes the different versions here: