Hello all,
I’m getting this error
SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,6,main]
com.jme3.renderer.RendererException: compile error in:ShaderSource[name=/assets/shader/ColorFragmentShader.frag, defines, type=Fragment] error:Fragment shader failed to compile with the following errors:
ERROR: 0:602: error(#132) Syntax error: 'if' parse error
ERROR: error(#273) 1 compilation errors. No code generated
For this piece of Fragment Shader:
[java]void main(){
//
// diffuse calculations
//
#ifdef DIFFUSEMAP
#ifdef ALPHAMAP
#ifdef TRI_PLANAR_MAPPING
vec4 diffuseColor = calculateTriPlanarDiffuseBlend(wNormal, wVertex, texCoord);
#else
vec4 diffuseColor = calculateDiffuseBlend(texCoord);
#endif
#else
vec4 diffuseColor = texture2D(m_DiffuseMap, texCoord);
#endif
#else
vec4 diffuseColor = vec4(1.0);
#endif
float i;
if(position.y < 63.75){ // blue to cyan
i = interpolate (position.y, 63.75);
}
else if(position.y < 127.5){ // cyan to yellow
i = interpolate (position.y, 127.5);
}
else if(position.y < 191.25){ // yellow to red
i = interpolate (position.y, 191.25);
}
else // red to dark red
i = interpolate (position.y, 128);
}
[/java]
As far as i can see I'm doing a perfectly normal if. Anybody knows what is going on?