First of al i am not sure if i should ask this question here, but with the lack of an ati forum i post the question here anyhow. Please remove or lock it if this is the wrong place.
I am using ati’s ashli viewer to covert renderman shaders to arb shaders. Unfortunately i am having a shader that ashli is unable to handle as i get the following error message:
Ashli:DerivativeError derivatives only supported on input variables
Is there a list of meanings of error messages given by the ashli viewer?
What is a derivative? And how do you recognice such a thing in a renderman shader as no hints are given where in the shader the error occured.
Thanks for your answer(s) in advance.
I’m not familiar with Ashli, but my guess is that it’s trying to get the derivative of a variable that is not varying. You can only take a meaningful derivative of a value that varies depending on the screen coordinates, e.g. texture coordinates. Taking the derivative of a constant value is always zero.
Look here if you want to know more about derivatives.
Found the offending line(s):
swidth = max (abs(Du(s)*du) + abs(Dv(s)*dv), MINFILTERWIDTH) * frequency;
twidth = max (abs(Du(t)*du) + abs(Dv(t)*dv), MINFILTERWIDTH) * frequency;
Actualy it is the Du and Dv instructions. To my understanding s and t are texture coordinates.
Next step is how to rewrite this into something is also understandeable by ashli.
This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.