Cannot locate resource: com/jme3/gde/terraineditor/dirt.jpg (Flipped) (Mipmaped)

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 :wink:



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.0
3.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]

You have to replace the default dirt texture in the terrain with one from your assets folder. Probably the terrain creation wizard should ask for a default texture from the projects assets instead of adding the placeholder from its own classpath.

Thanks, it worked out :slight_smile:



It’s a bit confusing as the preview works.



Thanks anyway.