- Home /
Problem with custom shaders (surface function error)
I downloaded a voxel terrain package (Cubic World). Which I tested in a webplayer and everything worked fine, however when i try to run it in the editor all of the shaders seem to have errors, Currently i've been trying to solve These two (Map, & MapAlpha) but i cant find anything wrong with them. Here are the Errors.
Errors:
! Surface shader function 'surf' not found at line 11
! Unrecognized #pragma surface directive: finalcolor:MyFinalColor at line 11
! Unrecognized #pragma surface directive: noambient at line 11
And now the code
Shader "Map/Map Alpha" { Properties { _MainTex ("Base (RGB) Trans (A)", 2D) = "white" {} }
SubShader {
Tags { "Queue"="Transparent" "RenderType"="TransparentCutout" }
Blend SrcAlpha OneMinusSrcAlpha
LOD 200
CGPROGRAM
#pragma surface surf Lambert finalcolor:MyFinalColor noambient
struct Input {
float2 uv_MainTex;
float4 color : COLOR;
};
sampler2D _MainTex;
void MyFinalColor(Input IN, SurfaceOutput o, inout fixed4 color) {
color.rgb = o.Albedo.rgb;
color.a = o.Alpha;
}
void surf (Input IN, inout SurfaceOutput o) {
float3 light = IN.color.rgb;
float sun = IN.color.a;
float3 ambient = UNITY_LIGHTMODEL_AMBIENT * 2;
ambient = min(ambient, sun);
ambient = max(ambient, light);
fixed4 color = tex2D (_MainTex, IN.uv_MainTex);
o.Albedo = color.rgb * ambient;
o.Alpha = color.a;
clip(color.a-0.01f);
}
ENDCG
}
SubShader {
Tags { "Queue"="Transparent" "RenderType"="Transparent" }
LOD 80
Pass {
Lighting Off
Blend SrcAlpha OneMinusSrcAlpha
ZWrite Off
Material {
Diffuse (1,1,1,1)
Ambient (1,1,1,1)
}
BindChannels {
Bind "Vertex", vertex
Bind "texcoord", texcoord
Bind "Color", color
}
SetTexture [_MainTex] {
Combine texture * primary
}
}
}
FallBack "Unlit/Texture"
}
As you can see in the code. I DID declare surf & MyFinalColor, so whats the problem?
Interesting, I found that if i remove the myfinalcolor code it solves the surface function errors... ill keep working on this.
Your answer
Follow this Question
Related Questions
All Charater controllers not working, (Same issue). 0 Answers
Shader error in ... : Syntax error at line 30 1 Answer
Shader compiler error - failed to read correct magic number 2 Answers
Can't open any projects: Shader compiler initialization error :Failed to read D3Dcompiler_47.DLL 2 Answers
Too many texture interpolators would be used for ForwardBase pass (again) 1 Answer