Hi Folks,
okay, as a beginner to JME3, I know it’s still alpha and I suppose that I am the error and not JME3
So, heres my problem:
I create a scene, add terrain, add a light. In the preview I can move around and I see the terrain. It’s just flat and looks okay.
Now I start up the app, load the scene, attach it to the rootNode and suddenly, I get an exception:
[java]
INFO: Loaded material definition: Terrain Lighting
19.06.2011 13:49:51 com.jme3.asset.DesktopAssetManager loadAsset
WARNUNG: Cannot locate resource: com/jme3/gde/terraineditor/dirt.jpg (Flipped) (Mipmaped)
19.06.2011 13:49:51 com.jme3.texture.Texture read
SCHWERWIEGEND: Could not load texture: com/jme3/gde/terraineditor/dirt.jpg (Flipped) (Mipmaped)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (New Scene) attached to this node (Root Node)
[/java]
a bit further downwards it throws:
[java]
SCHWERWIEGEND: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
com.jme3.renderer.RendererException: compile error in:ShaderSource[name=Common/MatDefs/Terrain/TerrainLighting.frag, defines, type=Fragment] error:ERROR: 0:125: ‘m_DiffuseMap’ : undeclared identifier
ERROR: 0:125: ‘texture2D’ : no matching overloaded function found
ERROR: 0:125: ‘=’ : cannot convert from ‘const float’ to ‘4-component vector of float’
at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderSourceData(LwjglRenderer.java:878)
at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderData(LwjglRenderer.java:913)
at com.jme3.renderer.lwjgl.LwjglRenderer.setShader(LwjglRenderer.java:993)
at com.jme3.material.Material.renderMultipassLighting(Material.java:662)
at com.jme3.material.Material.render(Material.java:855)
at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:434)
at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:132)
at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:183)
at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:575)
at com.jme3.renderer.RenderManager.flushQueue(RenderManager.java:555)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:721)
at com.jme3.renderer.RenderManager.render(RenderManager.java:742)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:249)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:158)
at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:203)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:221)
at java.lang.Thread.run(Thread.java:680)
[/java]
Is there any solution to this problem?
Thanks in advance!
Complete stackTrace:
[java]
init:
Deleting: /Users/Jan/jMonkeyProjects/LevelDesignerTry1/build/built-jar.properties
deps-jar:
Updating property file: /Users/Jan/jMonkeyProjects/LevelDesignerTry1/build/built-jar.properties
compile:
run:
19.06.2011 13:49:50 com.jme3.system.JmeSystem initialize
INFO: Running on jMonkey Engine 3 Alpha 0.6
19.06.2011 13:49:50 com.jme3.system.Natives extractNativeLibs
INFO: Extraction Directory #1: file:/Applications/jmonkeyplatform.app/Contents/Resources/jmonkeyplatform/jmonkeyplatform/libs/
19.06.2011 13:49:50 com.jme3.system.Natives extractNativeLibs
INFO: Extraction Directory #2: /Users/Jan/jMonkeyProjects/LevelDesignerTry1
19.06.2011 13:49:50 com.jme3.system.Natives extractNativeLibs
INFO: Extraction Directory #3: /Users/Jan/jMonkeyProjects/LevelDesignerTry1
19.06.2011 13:49:50 com.jme3.system.lwjgl.LwjglAbstractDisplay run
INFO: Using LWJGL 2.7.1
19.06.2011 13:49:50 com.jme3.system.lwjgl.LwjglDisplay createContext
INFO: Selected display mode: 800 x 600 x 0 @0Hz
19.06.2011 13:49:50 com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread
INFO: Display created.
19.06.2011 13:49:50 com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread
INFO: Adapter: null
19.06.2011 13:49:50 com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread
INFO: Driver Version: null
19.06.2011 13:49:50 com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread
INFO: Vendor: NVIDIA Corporation
19.06.2011 13:49:50 com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread
INFO: OpenGL Version: 2.1 NVIDIA-1.6.26
19.06.2011 13:49:50 com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread
INFO: Renderer: NVIDIA GeForce 9400M OpenGL Engine
19.06.2011 13:49:50 com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread
INFO: GLSL Ver: 1.20
19.06.2011 13:49:50 com.jme3.system.lwjgl.LwjglTimer <init>
INFO: Timer resolution: 1000 ticks per second
19.06.2011 13:49:50 com.jme3.renderer.lwjgl.LwjglRenderer initialize
INFO: Caps: [FrameBuffer, FrameBufferMRT, FrameBufferMultisample, OpenGL20, OpenGL21, ARBprogram, GLSL100, GLSL110, GLSL120, VertexTextureFetch, TextureArray, FloatTexture, FloatColorBuffer, FloatDepthBuffer, PackedFloatTexture, SharedExponentTexture, PackedFloatColorBuffer]
19.06.2011 13:49:50 com.jme3.asset.DesktopAssetManager <init>
INFO: DesktopAssetManager created.
19.06.2011 13:49:50 com.jme3.renderer.Camera <init>
INFO: Camera created (W: 800, H: 600)
19.06.2011 13:49:50 com.jme3.renderer.Camera <init>
INFO: Camera created (W: 800, H: 600)
19.06.2011 13:49:50 com.jme3.input.lwjgl.LwjglMouseInput initialize
INFO: Mouse created.
19.06.2011 13:49:50 com.jme3.input.lwjgl.LwjglKeyInput initialize
INFO: Keyboard created.
19.06.2011 13:49:50 com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread
INFO: AudioRenderer supports 64 channels
19.06.2011 13:49:50 com.jme3.material.MaterialDef <init>
INFO: Loaded material definition: Unshaded
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Gui Node)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (BitmapFont) attached to this node (null)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (null) attached to this node (Statistics View)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (Statistics View) attached to this node (Gui Node)
19.06.2011 13:49:51 com.jme3.material.MaterialDef <init>
INFO: Loaded material definition: Terrain Lighting
19.06.2011 13:49:51 com.jme3.asset.DesktopAssetManager loadAsset
WARNUNG: Cannot locate resource: com/jme3/gde/terraineditor/dirt.jpg (Flipped) (Mipmaped)
19.06.2011 13:49:51 com.jme3.texture.Texture read
SCHWERWIEGEND: Could not load texture: com/jme3/gde/terraineditor/dirt.jpg (Flipped) (Mipmaped)
19.06.2011 13:49:51 com.jme3.scene.Node attachChild
INFO: Child (New Scene) attached to this node (Root Node)
19.06.2011 13:49:51 com.jme3.renderer.lwjgl.LwjglRenderer updateShaderSourceData
WARNUNG: Bad compile of:
#define ALPHAMAP 1
#define DIFFUSEMAP_0_SCALE 16.0625
#define WARDISO 1
uniform float m_Shininess;
varying vec4 AmbientSum;
varying vec4 DiffuseSum;
varying vec4 SpecularSum;
varying vec3 vNormal;
varying vec2 texCoord;
varying vec3 vPosition;
varying vec3 vnPosition;
varying vec3 vViewDir;
varying vec4 vLightDir;
varying vec4 vnLightDir;
#ifdef DIFFUSEMAP
uniform sampler2D m_DiffuseMap;
#endif
#ifdef DIFFUSEMAP_1
uniform sampler2D m_DiffuseMap_1;
#endif
#ifdef DIFFUSEMAP_2
uniform sampler2D m_DiffuseMap_2;
#endif
#ifdef DIFFUSEMAP_3
uniform sampler2D m_DiffuseMap_3;
#endif
#ifdef DIFFUSEMAP_0_SCALE
uniform float m_DiffuseMap_0_scale;
#endif
#ifdef DIFFUSEMAP_1_SCALE
uniform float m_DiffuseMap_1_scale;
#endif
#ifdef DIFFUSEMAP_2_SCALE
uniform float m_DiffuseMap_2_scale;
#endif
#ifdef DIFFUSEMAP_3_SCALE
uniform float m_DiffuseMap_3_scale;
#endif
#ifdef ALPHAMAP
uniform sampler2D m_AlphaMap;
#endif
#ifdef ALPHAMAP_1
uniform sampler2D m_AlphaMap_1;
#endif
#ifdef ALPHAMAP_2
uniform sampler2D m_AlphaMap_2;
#endif
#ifdef NORMALMAP
uniform sampler2D m_NormalMap;
#endif
#ifdef NORMALMAP_1
uniform sampler2D m_NormalMap_1;
#endif
#ifdef NORMALMAP_2
uniform sampler2D m_NormalMap_2;
#endif
#ifdef NORMALMAP_3
uniform sampler2D m_NormalMap_3;
#endif
#ifdef TRI_PLANAR_MAPPING
varying vec4 wVertex;
varying vec3 wNormal;
#endif
float tangDot(in vec3 v1, in vec3 v2){
float d = dot(v1,v2);
#ifdef V_TANGENT
d = 1.0 - dd;
return step(0.0, d) * sqrt(d);
#else
return d;
#endif
}
float lightComputeDiffuse(in vec3 norm, in vec3 lightdir, in vec3 viewdir){
return max(0.0, dot(norm, lightdir));
}
float lightComputeSpecular(in vec3 norm, in vec3 viewdir, in vec3 lightdir, in float shiny){
#ifdef WARDISO
// Isotropic Ward
vec3 halfVec = normalize(viewdir + lightdir);
float NdotH = max(0.001, tangDot(norm, halfVec));
float NdotV = max(0.001, tangDot(norm, viewdir));
float NdotL = max(0.001, tangDot(norm, lightdir));
float a = tan(acos(NdotH));
float p = max(shiny/128.0, 0.001);
return NdotL * (1.0 / (4.03.14159265pp)) * (exp(-(aa)/(pp)) / (sqrt(NdotV * NdotL)));
#else
// Standard Phong
vec3 R = reflect(-lightdir, norm);
return pow(max(tangDot(R, viewdir), 0.0), shiny);
#endif
}
vec2 computeLighting(in vec3 wvPos, in vec3 wvNorm, in vec3 wvViewDir, in vec3 wvLightDir){
float diffuseFactor = lightComputeDiffuse(wvNorm, wvLightDir, wvViewDir);
float specularFactor = lightComputeSpecular(wvNorm, wvViewDir, wvLightDir, m_Shininess);
specularFactor *= step(1.0, m_Shininess);
float att = vLightDir.w;
return vec2(diffuseFactor, specularFactor) * vec2(att);
}
#ifdef ALPHAMAP
vec4 calculateDiffuseBlend(in vec2 texCoord) {
vec4 alphaBlend = texture2D( m_AlphaMap, texCoord.xy );
vec4 diffuseColor = texture2D(m_DiffuseMap, texCoord * m_DiffuseMap_0_scale);
diffuseColor *= alphaBlend.r;
#ifdef DIFFUSEMAP_1
vec4 diffuseColor1 = texture2D(m_DiffuseMap_1, texCoord * m_DiffuseMap_1_scale);
diffuseColor = mix( diffuseColor, diffuseColor1, alphaBlend.g );
#ifdef DIFFUSEMAP_2
vec4 diffuseColor2 = texture2D(m_DiffuseMap_2, texCoord * m_DiffuseMap_2_scale);
diffuseColor = mix( diffuseColor, diffuseColor2, alphaBlend.b );
#ifdef DIFFUSEMAP_3
vec4 diffuseColor3 = texture2D(m_DiffuseMap_3, texCoord * m_DiffuseMap_3_scale);
diffuseColor = mix( diffuseColor, diffuseColor3, alphaBlend.a );
#endif
#endif
#endif
return diffuseColor;
}
vec3 calculateNormal(in vec2 texCoord) {
vec3 normal = vec3(0,0,1);
vec4 normalHeight = vec4(0,0,0,0);
vec3 n = vec3(0,0,0);
vec4 alphaBlend = texture2D( m_AlphaMap, texCoord.xy );
#ifdef NORMALMAP
normalHeight = texture2D(m_NormalMap, texCoord * m_DiffuseMap_0_scale);
n = (normalHeight.xyz * vec3(2.0) - vec3(1.0));
n.z = sqrt(1.0 - (n.x * n.x) - (n.y * n.y));
n.y = -n.y;
normal += n * alphaBlend.r;
#endif
#ifdef NORMALMAP_1
normalHeight = texture2D(m_NormalMap_1, texCoord * m_DiffuseMap_1_scale);
n = (normalHeight.xyz * vec3(2.0) - vec3(1.0));
n.z = sqrt(1.0 - (n.x * n.x) - (n.y * n.y));
n.y = -n.y;
normal += n * alphaBlend.g;
#endif
#ifdef NORMALMAP_2
normalHeight = texture2D(m_NormalMap_2, texCoord * m_DiffuseMap_2_scale);
n = (normalHeight.xyz * vec3(2.0) - vec3(1.0));
n.z = sqrt(1.0 - (n.x * n.x) - (n.y * n.y));
n.y = -n.y;
normal += n * alphaBlend.b;
#endif
#ifdef NORMALMAP_3
normalHeight = texture2D(m_NormalMap_3, texCoord * m_DiffuseMap_3_scale);
n = (normalHeight.xyz * vec3(2.0) - vec3(1.0));
n.z = sqrt(1.0 - (n.x * n.x) - (n.y * n.y));
n.y = -n.y;
normal += n * alphaBlend.a;
#endif
return normalize(normal);
}
#ifdef TRI_PLANAR_MAPPING
vec4 getTriPlanarBlend(in vec4 coords, in vec3 blending, in sampler2D map, in float scale) {
vec4 col1 = texture2D( map, coords.yz * scale);
vec4 col2 = texture2D( map, coords.xz * scale);
vec4 col3 = texture2D( map, coords.xy * scale);
// blend the results of the 3 planar projections.
vec4 tex = col1 * blending.x + col2 * blending.y + col3 * blending.z;
return tex;
}
vec4 calculateTriPlanarDiffuseBlend(in vec3 wNorm, in vec4 wVert, in vec2 texCoord) {
// tri-planar texture bending factor for this fragment’s normal
vec3 blending = abs( wNorm );
blending = (blending -0.2) * 0.7;
blending = normalize(max(blending, 0.00001)); // Force weights to sum to 1.0 (very important!)
float b = (blending.x + blending.y + blending.z);
blending /= vec3(b, b, b);
// texture coords
vec4 coords = wVert;
// blend the results of the 3 planar projections.
vec4 tex0 = getTriPlanarBlend(coords, blending, m_DiffuseMap, m_DiffuseMap_0_scale);
#ifdef DIFFUSEMAP_1
// blend the results of the 3 planar projections.
vec4 tex1 = getTriPlanarBlend(coords, blending, m_DiffuseMap_1, m_DiffuseMap_1_scale);
#endif
#ifdef DIFFUSEMAP_2
// blend the results of the 3 planar projections.
vec4 tex2 = getTriPlanarBlend(coords, blending, m_DiffuseMap_2, m_DiffuseMap_2_scale);
#endif
#ifdef DIFFUSEMAP_3
// blend the results of the 3 planar projections.
vec4 tex3 = getTriPlanarBlend(coords, blending, m_DiffuseMap_3, m_DiffuseMap_3_scale);
#endif
vec4 alphaBlend = texture2D( m_AlphaMap, texCoord.xy );
vec4 diffuseColor = tex0 * alphaBlend.r;
#ifdef DIFFUSEMAP_1
diffuseColor = mix( diffuseColor, tex1, alphaBlend.g );
#ifdef DIFFUSEMAP_2
diffuseColor = mix( diffuseColor, tex2, alphaBlend.b );
#ifdef DIFFUSEMAP_3
diffuseColor = mix( diffuseColor, tex3, alphaBlend.a );
#endif
#endif
#endif
return diffuseColor;
}
vec3 calculateNormalTriPlanar(in vec3 wNorm, in vec4 wVert,in vec2 texCoord) {
// tri-planar texture bending factor for this fragment’s world-space normal
vec3 blending = abs( wNorm );
blending = (blending -0.2) * 0.7;
blending = normalize(max(blending, 0.00001)); // Force weights to sum to 1.0 (very important!)
float b = (blending.x + blending.y + blending.z);
blending /= vec3(b, b, b);
// texture coords
vec4 coords = wVert;
vec4 alphaBlend = texture2D( m_AlphaMap, texCoord.xy );
vec3 normal = vec3(0,0,1);
vec3 n = vec3(0,0,0);
vec4 normalHeight = vec4(0,0,0,0);
#ifdef NORMALMAP
normalHeight = getTriPlanarBlend(coords, blending, m_NormalMap, m_DiffuseMap_0_scale);
n = (normalHeight.xyz * vec3(2.0) - vec3(1.0));
n.z = sqrt(1.0 - (n.x * n.x) - (n.y * n.y));
n.y = -n.y;
normal += n * alphaBlend.r;
#endif
#ifdef NORMALMAP_1
normalHeight = getTriPlanarBlend(coords, blending, m_NormalMap_1, m_DiffuseMap_1_scale);
n = (normalHeight.xyz * vec3(2.0) - vec3(1.0));
n.z = sqrt(1.0 - (n.x * n.x) - (n.y * n.y));
n.y = -n.y;
normal += n * alphaBlend.g;
#endif
#ifdef NORMALMAP_2
normalHeight = getTriPlanarBlend(coords, blending, m_NormalMap_2, m_DiffuseMap_2_scale);
n = (normalHeight.xyz * vec3(2.0) - vec3(1.0));
n.z = sqrt(1.0 - (n.x * n.x) - (n.y * n.y));
n.y = -n.y;
normal += n * alphaBlend.b;
#endif
#ifdef NORMALMAP_3
normalHeight = getTriPlanarBlend(coords, blending, m_NormalMap_3, m_DiffuseMap_3_scale);
n = (normalHeight.xyz * vec3(2.0) - vec3(1.0));
n.z = sqrt(1.0 - (n.x * n.x) - (n.y * n.y));
n.y = -n.y;
normal += n * alphaBlend.a;
#endif
return normalize(normal);
}
#endif
#endif
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
//
// normal calculations
//
#if defined(NORMALMAP) || defined(NORMALMAP_1) || defined(NORMALMAP_2) || defined(NORMALMAP_3)
#ifdef TRI_PLANAR_MAPPING
vec3 normal = calculateNormalTriPlanar(wNormal, wVertex, texCoord);
#else
vec3 normal = calculateNormal(texCoord);
#endif
#else
vec3 normal = vNormal;
#endif
//
// lighting calculations
//
vec4 lightDir = vLightDir;
lightDir.xyz = normalize(lightDir.xyz);
vec2 light = computeLighting(vPosition, normal, vViewDir.xyz, lightDir.xyz);
vec4 specularColor = vec4(1.0);
//
// final color calculations
//
gl_FragColor = AmbientSum * diffuseColor +
DiffuseSum * diffuseColor * light.x +
SpecularSum * specularColor * light.y;
//gl_FragColor.a = alpha;
}
19.06.2011 13:49:51 com.jme3.app.Application handleError
SCHWERWIEGEND: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
com.jme3.renderer.RendererException: compile error in:ShaderSource[name=Common/MatDefs/Terrain/TerrainLighting.frag, defines, type=Fragment] error:ERROR: 0:125: 'm_DiffuseMap' : undeclared identifier
ERROR: 0:125: 'texture2D' : no matching overloaded function found
ERROR: 0:125: '=' : cannot convert from 'const float' to '4-component vector of float'
at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderSourceData(LwjglRenderer.java:878)
at com.jme3.renderer.lwjgl.LwjglRenderer.updateShaderData(LwjglRenderer.java:913)
at com.jme3.renderer.lwjgl.LwjglRenderer.setShader(LwjglRenderer.java:993)
at com.jme3.material.Material.renderMultipassLighting(Material.java:662)
at com.jme3.material.Material.render(Material.java:855)
at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:434)
at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:132)
at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:183)
at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:575)
at com.jme3.renderer.RenderManager.flushQueue(RenderManager.java:555)
at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:721)
at com.jme3.renderer.RenderManager.render(RenderManager.java:742)
at com.jme3.app.SimpleApplication.update(SimpleApplication.java:249)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.runLoop(LwjglAbstractDisplay.java:158)
at com.jme3.system.lwjgl.LwjglDisplay.runLoop(LwjglDisplay.java:203)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:221)
at java.lang.Thread.run(Thread.java:680)
[/java]