- Home /
Shader Error
Hey guys, I am getting an error on line 39 of my Shader, I can't understand why it's not working, because I have this on various other shaders and it works without error.
However, i don't see a problem in game, but this is obviously happening for a reason.
But here is the Error guys.
"INCORRECT NUMBER OF ARGUMENTS TO NUMERIC-TYPE CONSTRUCTOR AT LINE 39"
Here is my code on Line 39 half3 ramp = tex2D (_Ramp, float2(diff)).rgb;
Like I said this works fine on other shaders, but it's only this one shader, I don't understand.. All i did was copy paste it from my other shader to this one.
So I don't get why it's not working....
I'll just post the entire Lightiing Ramp as well so you can try an help me diagnose this problem I hope.
inline half4 LightingRamp (MySurfaceOutput s, half3 lightDir, half3 viewDir, half atten)
{
half3 h = normalize (lightDir + viewDir);
half diff = max (0, dot (s.Normal, lightDir));
float nh = max (0, dot (s.Normal, h));
float spec = pow (nh, 32.0);
half3 specCol = spec * s.GlossColor;
half3 ramp = tex2D (_Ramp, float2(diff)).rgb; // **LINE 39**
half4 c;
c.rgb = (s.Albedo * _LightColor0.rgb * diff * ramp + _LightColor0.rgb * specCol) * (atten * 2);
c.a = s.Alpha;
return c;
}
You are a freaking life saver! Thank you!
I just don't get it, why does it act differently than the other shaders? This is the only one that messes up LOL.
I'm at least not getting any errors now, so I'm assu$$anonymous$$g its working lol.
Answer by Scribe · Jan 04, 2015 at 08:04 PM
perhaps half3 ramp = tex2D (_Ramp, float2(diff, diff)).rgb;
I am reasonably new to shders myself so I'm not sure if that would be done automatically, but having a float2(half)
looks suspicious!
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Melee combat error 1 Answer
Display Bullets Left on Screen 1 Answer
BCE0005: Unknown identifier: 'DirectionRay'. 1 Answer
Unity3d won't open anymore 7 Answers