Just when I think I understand shaders they throw me a curveball every time.
This seems SO simple. I have a Vector 3: pos=new Vector3(1024,1024,1024); and a shader constant float3 EyePosition I assign my Vector3 to my shader constant just before the draw call: Effect.Parameters["EyePosition"].SetValue(pos); This variable is not used or altered anyplace else, in either the program or in the shader. BUT, when I debug the pixel shader in PIX it shows EyePosition= (414.855, 823.112, 1024.000, 0.000);
Can somebody please explain to me WHY (tF!) my constant is getting changed? Is the interpolater being invoked for some reason? I hate asking dumb questions but I can't see any logical explanation for this whatsoever.