can’t quite make sense of this error, I worked on it in RM it works well there and I think the port to jme3 is okay-ish, I worked my way through the last shader I ported, but I dont actually understand this error as in what it means.

any help would be greatly appreciated

[java]com.jme3.renderer.RendererException: compile error in:ShaderSource[name=assets/Shaders/toonSpecNorm2.vert, defines, type=Vertex] error:0(21) : error C1101: ambiguous overloaded function reference “mul(mat3, vec4)”

(0) : mat1x3 mul(mat1x3, mat3)

(0) : vec1 mul(vec4, mat4x1)

(0) : vec2 mul(vec4, mat4x2)

(0) : vec3 mul(vec3, mat3)

(0) : vec3 mul(vec4, mat4x3)

(0) : vec4 mul(vec4, mat4)[/java]

vertex shader

[java]attribute vec3 modelTangent;

attribute vec3 inPosition;

attribute vec4 inTexCoord;

//attribute vec4 inColor;

attribute vec3 inNormal;

uniform mat3 g_NormalMatrix;

uniform mat3 g_WorldViewMatrix;

uniform mat4 g_WorldViewProjectionMatrix;

varying vec3 viewDirection;

varying vec3 lightDirections;

varying vec2 texCoords;

void main()

{

gl_Position = g_WorldViewProjectionMatrix * vec4(inPosition, 1.0);

texCoords = (gl_TextureMatrix[0] * inTexCoord).xy;

/* Get view and light directions in viewspace */
vec3 localViewDirection = -(g_WorldViewMatrix * vec4(inPosition, 1.0)).xyz;
/* Calculate tangent info - stored in attributes

*/*

vec3 normal = g_NormalMatrix * inNormal;

vec3 tangent = g_NormalMatrix * modelTangent;

vec3 binormal = cross( normal, tangent );

/Transform localViewDirection into texture space */

vec3 normal = g_NormalMatrix * inNormal;

vec3 tangent = g_NormalMatrix * modelTangent;

vec3 binormal = cross( normal, tangent );

/

viewDirection.x = dot( tangent, localViewDirection );

viewDirection.y = dot( binormal, localViewDirection );

viewDirection.z = dot( normal, localViewDirection );

vec3 localLightDirection = gl_LightSource[0].position.xyz + localViewDirection;

lightDirections.x = dot( tangent, localLightDirection );

lightDirections.y = dot( binormal, localLightDirection );

lightDirections.z = dot( normal, localLightDirection );

lightDirections = normalize( lightDirections );

}[/java]