What is this graphic-error?

Hi all, I have a pretty much error when I try rendering a terrain…



Here is the error :



May 18, 2012 3:26:26 PM com.jme3.system.JmeSystem initialize

INFO: Running on jMonkey Engine 3 Alpha 0.6

May 18, 2012 3:26:27 PM com.jme3.system.Natives extractNativeLibs

INFO: Extraction Directory #1: file:/D:/Program/jmonkeyplatform/jmonkeyplatform/libs/

May 18, 2012 3:26:27 PM com.jme3.system.Natives extractNativeLibs

INFO: Extraction Directory #2: D:LatihanJMonkeyEngineFinal2

May 18, 2012 3:26:27 PM com.jme3.system.Natives extractNativeLibs

INFO: Extraction Directory #3: D:LatihanJMonkeyEngineFinal2

May 18, 2012 3:26:27 PM com.jme3.system.lwjgl.LwjglAbstractDisplay run

INFO: Using LWJGL 2.7.1

May 18, 2012 3:26:27 PM com.jme3.system.lwjgl.LwjglDisplay createContext

INFO: Selected display mode: 1024 x 768 x 0 @0Hz

May 18, 2012 3:26:29 PM com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread

INFO: Display created.

May 18, 2012 3:26:29 PM com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread

INFO: Adapter: igdumdx32

May 18, 2012 3:26:30 PM com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread

INFO: Driver Version: 8.15.10.1872

May 18, 2012 3:26:30 PM com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread

INFO: Vendor: Intel

May 18, 2012 3:26:30 PM com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread

INFO: OpenGL Version: 2.1.0 - Build 8.15.10.1872

May 18, 2012 3:26:30 PM com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread

INFO: Renderer: Mobile Intel® 4 Series Express Chipset Family

May 18, 2012 3:26:30 PM com.jme3.system.lwjgl.LwjglAbstractDisplay initInThread

INFO: GLSL Ver: 1.20 - Intel Build 8.15.10.1872

May 18, 2012 3:26:30 PM com.jme3.system.lwjgl.LwjglTimer

INFO: Timer resolution: 1000 ticks per second

May 18, 2012 3:26:30 PM com.jme3.renderer.lwjgl.LwjglRenderer initialize

INFO: Caps: [FrameBuffer, FrameBufferMRT, OpenGL20, OpenGL21, ARBprogram, GLSL100, GLSL110, GLSL120, VertexTextureFetch, FloatTexture, FloatColorBuffer]

May 18, 2012 3:26:38 PM com.jme3.asset.DesktopAssetManager

INFO: DesktopAssetManager created.

May 18, 2012 3:26:38 PM com.jme3.renderer.Camera

INFO: Camera created (W: 1,024, H: 768)

May 18, 2012 3:26:39 PM com.jme3.renderer.Camera

INFO: Camera created (W: 1,024, H: 768)

May 18, 2012 3:26:39 PM com.jme3.input.lwjgl.LwjglMouseInput initialize

INFO: Mouse created.

May 18, 2012 3:26:39 PM com.jme3.input.lwjgl.LwjglKeyInput initialize

INFO: Keyboard created.

May 18, 2012 3:26:39 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread

INFO: AudioRenderer supports 64 channels

May 18, 2012 3:26:39 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread

INFO: Audio effect extension version: 1.0

May 18, 2012 3:26:39 PM com.jme3.audio.lwjgl.LwjglAudioRenderer initInThread

INFO: Audio max auxilary sends: 1

May 18, 2012 3:26:40 PM com.jme3.material.MaterialDef

INFO: Loaded material definition: Unshaded

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Gui Node)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (BitmapFont) attached to this node (null)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (null) attached to this node (Statistics View)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (Statistics View) attached to this node (Gui Node)

May 18, 2012 3:26:40 PM com.jme3.material.MaterialDef

INFO: Loaded material definition: Terrain Lighting

May 18, 2012 3:26:40 PM com.jme3.asset.DesktopAssetManager loadAsset

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

May 18, 2012 3:26:40 PM com.jme3.texture.Texture read

SEVERE: Could not load texture: com/jme3/gde/terraineditor/dirt.jpg (Flipped) (Mipmaped)

May 18, 2012 3:26:40 PM com.jme3.scene.Node attachChild

INFO: Child (New Scene) attached to this node (Root Node)

May 18, 2012 3:26:41 PM com.jme3.renderer.lwjgl.LwjglRenderer updateShaderSourceData

WARNING: 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;
}


May 18, 2012 3:26:41 PM com.jme3.app.Application handleError
SEVERE: 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 - implicit conversion not allowed
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:660)
at com.jme3.material.Material.render(Material.java:853)
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:722)

Too few info. Is this an intel card? Linux? Update your graphics driver.

I think they are also running an older version of JME or there would have been line numbers in that shader source.

I am using intel card…also I am using JMonkeyPlatform Aplha-4



I try another version : JMonkeyPlatform SDK 3.0 Beta, but it display an error Framebuffer not attached

Update the SDK (Help->Check for Updates) and install the graphics driver from intel (not the one coming with windows).