- Home /
Problem with BRDF Shader
Hi ! I wanted to make a BRDF shader but i ran into trouble .
Used tihs tutorial to make the shader : Youtube Tutorial Video
I wrote everything right in the shader but i get a error :
Program 'SurfShaderInternalFunc', expression left of . "Normal" is not a struct or array at line 30 .
And i can't understand what is causing this error .
Here is the shader :
Shader "CTD/DemoBRDF"
{
Properties
{
_MainTex ("Base (RGB)", 2D) = "white" {}
_Ramp2D ("BRDF Ramp", 2D) = "gray" {}
}
SubShader
{
Tags { "RenderType"="Opaque" }
LOD 200
CGPROGRAM
#pragma surface surf Ramp
#pragma target 3.0
sampler2D _MainTex;
sampler2D _Ramp2D;
struct Input
{
float2 uv_MainTex;
};
half4 LightingRamp (SurfaceOutput s, half3 lightDir, half3 viewDir, half atten)
{
float NdotL = dot(s.Normal, lightDir);
float NdotE = dot(s.Nornal, viewDir);
//do diffuse wrap here
float diff = (NdotL * 0.3) + 0.5;
float2 brdfUV = float2(NdotE * .8, diff);
float3 BRDF = tex2D(_Ramp2D, brdfUV.xy).rgb;
float4 c;
c.rgb = BRDF;//float3(diff,diff,diff);
c.a = s.Alpha;
return c;
}
void surf (Input IN, inout SurfaceOutput o)
{
half4 c = float4(.5,.5,.5,1);//tex2D (_MainTex, IN.uv_MainTex);
o.Albedo = c.rgb;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}
If someone can help me then i would really apreciate him .
Thanks in advance for the upcoming answers :)
Answer by Padawan94 · May 19, 2012 at 09:54 AM
Farfarer on the forum solved my problem :)
In line 30 it only needs Normal not Nornal :D
It was a really noobish problem i know ...
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Ramp shader with outline ? 0 Answers
How can I calculate the slope of the camera in a shader? 0 Answers
Can't select shader help! 1 Answer
Pause Menu 5 Answers